【技术实现步骤摘要】
实时渲染次表面散射的方法及相关装置
本专利技术涉及计算机
,具体涉及实时渲染次表面散射的方法及相关装置。
技术介绍
次表面散射效果在3D动画电影、游戏等很多领域被广泛使用。次表面散射是光射入非金属材质的物体后,又射出该物体的光线传递过程。次表面散射主要用于表现光透过透明或半透明物体的效果,例如表现灯光照射下人的皮肤,光照射大理石、玉石、玻璃、液体等的效果等。在光线从该物体表面的某入射点入射再从物体表面的某出射点射出的过程中,光线会被散射和吸收,光线在物质中传播得越远,它被散射和吸收得就越厉害。则出射点处的光强会小于入射点处的光强。可使用深度映射方式来实时渲染次表面散射的,请参见图1a,其原理是:给定虚拟物体的3d模型(Object)表面的一个点(可称为像素点)作为出射点,例如图1中的do2点,根据光线直线传输的原理连接do2点与光源(light),二者与Object表面的交点为入射点di2。入射点di2与光源的距离减去出射点do2到光源距离,得到距离差S2,距离差S2是光线从点di2入射到do2点射出的传播距离。得到光线传播距离后,便可以使用距离指数对入射点的光强度进行衰减,得到出射点do2的光强度。屏幕上表现的虚拟物体的像素点与3d模型表面上的点有对应关系(请参见图1b,虚拟物体表面上的像素点是一个个小方格),之后,可使用出射点do2的光强度对虚拟物体表面上相应的像素点进行渲染。同理,对于给点定do1可得到光源到入射点di1的距离和从光源到射出点do1距离之差(S1),进而使用距离指数进行衰减,得到出射点do1的光强度,再使用出射点do1的光强度对 ...
【技术保护点】
一种实时渲染次表面散射的方法,其特征在于,包括:在实时渲染过程中,获取虚拟物体对应的三维模型的表面纹理;所述表面纹理包括所述三维模型表面上的像素点的次表面散射纹理信息,所述次表面散射纹理信息包括所述像素点作为光线出射点时对应的M个光线入射点的空间信息,以及,每一光线入射点与所述像素点之间的光线传播距离;所述光线入射点位于所述三维模型的表面,所述M个光线入射点基于散射原理确定;M为大于1的正整数;根据所述光线入射点的空间信息,计算得到所述每一光线入射点对应的光强信息;根据每一光线入射点对应的光强信息以及其与所述像素点之间的光线传播距离进行光线衰减,得到每一光线入射点对应的衰减结果;对各光线入射点对应的衰减结果求和,得到所述像素点对应的光强信息;使用所述像素点对应的光强信息,对所述虚拟物体的表面上相应像素点进行渲染。
【技术特征摘要】
1.一种实时渲染次表面散射的方法,其特征在于,包括:在实时渲染过程中,获取虚拟物体对应的三维模型的表面纹理;所述表面纹理包括所述三维模型表面上的像素点的次表面散射纹理信息,所述次表面散射纹理信息包括所述像素点作为光线出射点时对应的M个光线入射点的空间信息,以及,每一光线入射点与所述像素点之间的光线传播距离;所述光线入射点位于所述三维模型的表面,所述M个光线入射点基于散射原理确定;M为大于1的正整数;根据所述光线入射点的空间信息,计算得到所述每一光线入射点对应的光强信息;根据每一光线入射点对应的光强信息以及其与所述像素点之间的光线传播距离进行光线衰减,得到每一光线入射点对应的衰减结果;对各光线入射点对应的衰减结果求和,得到所述像素点对应的光强信息;使用所述像素点对应的光强信息,对所述虚拟物体的表面上相应像素点进行渲染。2.如权利要求1所述的方法,其特征在于,在获取所述表面纹理之前,还包括:生成所述表面纹理。3.如权利要求2所述的方法,其特征在于,所述生成所述表面纹理包括:基于所述三维模型表面上的像素点进行递归光线追踪,得到光线追踪结果,所述光线追踪结果包括所述像素点对应的多个表面散射点,所述多个表面散射点均位于所述三维模型表面上;从所述多个表面散射点中确定出M个光线入射点;存储每一光线入射点的空间信息,以及,每一光线入射点与所述像素点之间的光线传播距离。4.如权利要求2或3所述的方法,其特征在于,在所述基于所述三维模型表面上的像素点进行递归光线追踪之前,还包括:构建可完全包围所述三维模型的包围盒;使用由多个切割面构成的网格对所述包围盒进行划分。5.如权利要求4所述的方法,其特征在于,在所述基于所述三维模型表面上的像素点进行递归光线追踪之前,还包括:获取光线追踪参数;所述光线追踪参数包括:散射方向个数m和矢量,m为大于1的正整数。6.如权利要求5所述的方法,其特征在于,基于所述三维模型表面上的像素点进行的第i次递归光线追踪包括:使用所述光线追踪参数生成m条散射光线,所述m条散射光线相交于目标点;确定所述m条散射光线中第j条散射光线在本次递归光线追踪中对应的散射点;若所述散射点不位于所述三维模型表面上,将所述散射点作为下一递归光线追踪中的目标点;若所述散射点位于所述三维模型表面上,将所述散射点作为表面散射点;其中,i为小于N的整数,所述N为最大递归次数;j为小于m的整数;第0次递归光线追踪中的目标点为所述三维模型表面上的像素点。7.如权利要求6所述的方法,其特征在于,所述确定第j条散射光线在本次递归光线追踪中对应的散射点包括:确定所述第j条散射光线与目标切割面的第一交点,以及所述第j条散射光线和所述三维模型表面的第二交点;所述目标切割面为与所述目标点的法向夹角最大的切割面集合中、离所述目标点最近的切割面;将所述第一交点和第二交点中更接近所述目标点的交点作为所述第j条散射光线对应的散射点。8.如权利要求7所述的方法,其特征在于,所述从所述多个表面散射点中确定出M个光线入射点包括:获取各表面散射点与所述像素点之间的光线传播距离;按光线传播距离由小到大对所述多个表面散射点进行排序;选择前M个表面散射点作为所述M个光线入射点。9.如权利要求1所述的方法,其特征在于,所述空间信息包括位置信息和法线。10.一种实时渲染装置,其特征在于,包括获取单元和渲染单元,其中:所述获取单元用...
【专利技术属性】
技术研发人员:刘皓,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。