三维模型的渲染方法和装置、存储介质及计算机设备制造方法及图纸

技术编号:30834046 阅读:22 留言:0更新日期:2021-11-18 12:55
本公开实施例提供一种三维模型的渲染方法和装置、存储介质及计算机设备,先将三维模型划分为明亮区域和阴影区域,然后直接基于三维模型的颜色对所述明亮区域进行渲染,并基于预先确定的阴影颜色对所述阴影区域进行渲染,从而能够直接获取最终的渲染效果。相比于先绘制待渲染三维模型再进行后处理的渲染方式,本公开实施例的渲染方式渲染效率较高,更加适用于实时渲染场景。于实时渲染场景。于实时渲染场景。

【技术实现步骤摘要】
三维模型的渲染方法和装置、存储介质及计算机设备


[0001]本公开涉及图像处理
,尤其涉及三维模型的渲染方法和装置、存储介质及计算机设备。

技术介绍

[0002]三维(3D)模型的渲染一般可分为真实渲染(Photorealistic Rendering,PR)和非真实渲染(Non

photorealistic rendering,NPR)。渲染的主要目的是模拟特定的艺术风格。真实渲染目的在于获取具有真实感的渲染效果,而非真实渲染的目的更加的多样,主要在于模拟艺术化的绘制风格,呈现出手绘的效果。然而,相关技术中的渲染方式需要先将整个三维模型完整地绘制到二维图像上,再对绘制好的图像进行后处理,这种方式的渲染效率较低。

技术实现思路

[0003]第一方面,本公开实施例提供一种三维模型的渲染方法,所述方法包括:确定三维模型在渲染相机视角下的光暗分布,所述光暗分布用于表征所述三维模型上各个片元的亮度值;基于所述光暗分布将所述三维模型划分为明亮区域和阴影区域;基于所述三维模型的颜色对所述明亮区域进行渲染,并基于预先确定的阴影颜色对所述阴影区域进行渲染。
[0004]本公开实施例在进行渲染时,无需先对整个三维模型进行绘制,而是先将三维模型划分为明亮区域和阴影区域,然后直接基于三维模型的颜色对所述明亮区域进行渲染,并基于预先确定的阴影颜色对所述阴影区域进行渲染,从而能够直接获取最终的渲染效果。相比于先绘制待渲染三维模型再进行后处理的渲染方式,本公开实施例的渲染方式渲染效率较高,更加适用于实时渲染场景。
[0005]在一些实施例中,所述确定三维模型在渲染相机视角下的光暗分布,包括:基于光照方向、所述三维模型的法线贴图和所述渲染相机的位置,确定所述三维模型在渲染相机视角下的第一光暗分布,所述法线贴图用于表征所述三维模型上各顶点的法线;基于所述三维模型的阴影贴图,确定所述三维模型在渲染相机视角下的第二光暗分布;基于所述第一光暗分布和所述第二光暗分布确定所述光暗分布。本公开实施例采用第一光暗分布和第二光暗分布共同来确定三维模型在渲染相机视角下的光暗分布,能够使得最终确定的光暗分布更加准确。
[0006]在一些实施例中,基于所述第一光暗分布和所述第二光暗分布确定所述光暗分布,包括:针对所述三维模型在渲染相机视角下的每个片元,基于所述第一光暗分布确定所述片元的第一亮度值,基于所述第二光暗分布确定所述片元的第二亮度值;根据所述第一亮度值及第二亮度值,确定所述片元的亮度值。
[0007]在一些实施例中,基于所述光暗分布将所述三维模型划分为明亮区域和阴影区域,包括:将三维模型上亮度值满足第一预设亮度条件的区域确定为明亮区域;将三维模型上亮度值满足第二预设亮度条件的区域确定为阴影区域。
[0008]在一些实施例中,所述亮度值满足所述第二预设亮度条件包括所述亮度值小于或等于第一亮度阈值;所述预先确定的阴影颜色包括多个不同亮度子区间分别对应的阴影颜色;所述不同亮度子区间根据所述亮度值小于或等于所述第一亮度阈值的亮度区间划分得到;所述基于预先确定的阴影颜色对所述阴影区域进行渲染,包括:确定所述阴影区域中各片元的亮度值所属的亮度子区间;根据各片元的亮度值所属的亮度子区间分别对应的阴影颜色,对所述阴影区域的各片元进行渲染。通过划分多个亮度子区间,不同亮度子区间分别对应不同的阴影颜色,从而能够对阴影区域采用多级着色,使渲染效果更加生动。
[0009]在一些实施例中,所述亮度值满足所述第二预设亮度条件包括所述亮度值小于或等于第二亮度阈值;所述预先确定的阴影颜色包括查找表中的多个参考亮度值分别对应的阴影颜色;所述查找表中的各个参考亮度值均小于或等于所述第二亮度阈值;所述基于预先确定的阴影颜色对所述阴影区域进行渲染,包括:从所述查找表中查找与所述阴影区域中各片元的亮度值分别匹配的参考亮度值对应的阴影颜色;根据与各片元分别匹配的参考亮度值对应的阴影颜色,对所述阴影区域的各片元进行渲染。通过在查找表中查找不同的参考亮度值对应的阴影颜色,从而能够对阴影区域采用多级着色,使渲染效果更加生动。
[0010]在一些实施例中,所述基于所述三维模型的颜色对所述明亮区域进行渲染,包括:基于所述三维模型对应的漫反射贴图确定所述明亮区域的颜色;基于确定的颜色对所述明亮区域进行渲染。
[0011]在一些实施例中,所述基于预先确定的阴影颜色对所述阴影区域进行渲染,包括:基于所述三维模型对应的漫反射贴图确定所述阴影区域的颜色;基于所述阴影颜色对所述阴影区域的颜色进行修正;基于修正后的颜色对所述阴影区域进行渲染。本公开实施例先通过阴影颜色对阴影区域的颜色进行修正,再用修正后的颜色对所述阴影区域进行渲染,从而无需先渲染三维模型再进行后处理,提高了渲染效率。
[0012]在一些实施例中,所述方法还包括:对所述三维模型进行放大,得到放大模型,所述放大模型的中间区域被所述三维模型遮挡;基于预先确定的描边颜色对所述放大模型进行渲染。由于放大模型的中间区域被所述三维模型遮挡,只露出边缘区域,从而呈现出描边的效果。本公开实施例无需先渲染三维模型再进行后处理,渲染效率较高。
[0013]在一些实施例中,所述对所述三维模型进行放大,得到放大模型,包括:将所述三维模型上的各个顶点沿着所述顶点的法线在投影平面上的投影向量的方向进行位移,得到所述放大模型。通过这种方式得到的放大模型的中间区域能够直接被放大前的三维模型遮挡,无需进行位移,处理复杂度较低。
[0014]在一些实施例中,所述基于所述三维模型的颜色对所述明亮区域进行渲染,并基于预先确定的阴影颜色对所述阴影区域进行渲染,包括:基于所述三维模型的颜色对所述明亮区域中各片元的正面进行渲染,并基于预先确定的阴影颜色对所述阴影区域中各片元的正面进行渲染;所述基于预先确定的描边颜色对所述放大模型进行渲染,包括:基于预先确定的描边颜色对所述放大模型中各片元的背面进行渲染;其中,一个片元的正面为所述片元上多个顶点沿着第一方向进行连接得到的面,一个片元的背面为所述片元上多个顶点沿着第二方向进行连接得到的面,所述第一方向与所述第二方向相反。通过这种方式,能够减少描边颜色对三维模型的明亮区域和阴影区域的颜色的影响,提高渲染效果。
[0015]在一些实施例中,在基于预先确定的描边颜色对所述放大模型进行渲染之前,所
述方法还包括:将所述放大模型沿着远离所述渲染相机的方向进行移动。这一步操作可以避免放大模型和三维模型在模型厚度较小的地方发生穿透,导致渲染效果错误的问题。
[0016]第二方面,本公开实施例提供一种三维模型的渲染方法,所述方法包括:在第一渲染通道中,基于三维模型的颜色对所述三维模型的明亮区域进行渲染,并基于预先确定的阴影颜色对所述三维模型的阴影区域进行渲染;在第二渲染通道中,对所述三维模型进行放大,得到放大模型,基于预先确定的描边颜色对所述放大模型进行渲染,所述放大模型的中间区域被所述三维模型遮挡。
[0017]本公开实施例通过两个渲染通道分别进行扁本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种三维模型的渲染方法,其特征在于,所述方法包括:确定三维模型在渲染相机视角下的光暗分布,所述光暗分布用于表征所述三维模型上各个片元的亮度值;基于所述光暗分布将所述三维模型划分为明亮区域和阴影区域;基于所述三维模型的颜色对所述明亮区域进行渲染,并基于预先确定的阴影颜色对所述阴影区域进行渲染。2.根据权利要求1所述的方法,其特征在于,所述确定三维模型在渲染相机视角下的光暗分布,包括:基于光照方向、所述三维模型的法线贴图和所述渲染相机的位置,确定所述三维模型在渲染相机视角下的第一光暗分布,所述法线贴图用于表征所述三维模型上各顶点的法线;基于所述三维模型的阴影贴图,确定所述三维模型在渲染相机视角下的第二光暗分布;基于所述第一光暗分布和所述第二光暗分布确定所述光暗分布。3.根据权利要求2所述的方法,其特征在于,所述基于所述第一光暗分布和所述第二光暗分布确定所述光暗分布,包括:针对所述三维模型在渲染相机视角下的每个片元,基于所述第一光暗分布确定所述片元的第一亮度值,并基于所述第二光暗分布确定所述片元的第二亮度值;根据所述第一亮度值及所述第二亮度值,确定所述片元的亮度值。4.根据权利要求1所述的方法,其特征在于,所述基于所述光暗分布将所述三维模型划分为明亮区域和阴影区域,包括:将所述三维模型上亮度值满足第一预设亮度条件的区域确定为所述明亮区域;将所述三维模型上亮度值满足第二预设亮度条件的区域确定为所述阴影区域。5.根据权利要求4所述的方法,其特征在于,所述亮度值满足所述第二预设亮度条件包括所述亮度值小于或等于第一亮度阈值;所述预先确定的阴影颜色包括多个不同亮度子区间分别对应的阴影颜色;所述不同亮度子区间根据所述亮度值小于或等于所述第一亮度阈值的亮度区间划分得到;所述基于预先确定的阴影颜色对所述阴影区域进行渲染,包括:确定所述阴影区域中各片元的亮度值所属的亮度子区间;根据各片元的亮度值所属的亮度子区间分别对应的阴影颜色,对所述阴影区域的各片元进行渲染。6.根据权利要求4所述的方法,其特征在于,所述亮度值满足所述第二预设亮度条件包括所述亮度值小于或等于第二亮度阈值;所述预先确定的阴影颜色包括查找表中的多个参考亮度值分别对应的阴影颜色;所述查找表中的各个参考亮度值均小于或等于所述第二亮度阈值;所述基于预先确定的阴影颜色对所述阴影区域进行渲染,包括:从所述查找表中查找与所述阴影区域中各片元的亮度值分别匹配的参考亮度值对应的阴影颜色;根据与各片元分别匹配的参考亮度值对应的阴影颜色,对所述阴影区域的各片元进行
渲染。7.根据权利要求1所述的方法,其特征在于,所述基于所述三维模型的颜色对所述明亮区域进行渲染,包括:基于所述三维模型对应的漫反射贴图确定所述明亮区域的颜色;基于确定的颜色对所述明亮区域进行渲染。8.根据权利要求1所述的方法,其特征在于,所述基于预先确定的阴影颜色对所述阴影区域进行渲染,包括:基于所述三维模型对应的漫反射贴图确定所述阴影区域的颜色;基于所述阴影颜色对所述阴影区域的颜色进行修正;基于修正后的颜色对所述阴影区域进行渲染。9.根据权利要求1至8任意一项所述的方法,其特征在于,所述方法还包括:对所述三维模型进行放大,得到放大模型,所述放大模型的中间区域被所述三维模型遮挡;基于预先确定的描边颜色对所述放大模型进行渲染。10.根据权利要求9所述...

【专利技术属性】
技术研发人员:陶然杨瑞健赵代平
申请(专利权)人:北京市商汤科技开发有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1