CN107016719A - 一种屏幕空间的次表面散射效果实时绘制方法 - Google Patents
一种屏幕空间的次表面散射效果实时绘制方法 Download PDFInfo
- Publication number
- CN107016719A CN107016719A CN201710157243.XA CN201710157243A CN107016719A CN 107016719 A CN107016719 A CN 107016719A CN 201710157243 A CN201710157243 A CN 201710157243A CN 107016719 A CN107016719 A CN 107016719A
- Authority
- CN
- China
- Prior art keywords
- illumination
- light
- threedimensional model
- subsurface
- texture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种屏幕空间的次表面散射效果实时绘制方法。本方法为:1)对待绘制的三维模型进行几何处理,记录该三维模型在屏幕空间中各像素点对应的几何信息、反射率和高光参数,像素点对应的材质类型;2)基于该模型的遮挡情况和各个方向的入射光强度计算该模型表面反射的光照明和直接光照;3)对该直接光照图进行局部采样,计算出来自各个方向的间接光照;4)将该直接光照和间接光照作为散射入射光,计算光线在次表面散射的光照明;5)针对该模型中的半透明材质,计算半透明光照;6)将散射光照明结果、表面反射光照以及半透明光照产生的透射光照明叠加、融合并校正,得到模型的完整光照明绘制结果。
Description
技术领域
本发明涉及一种屏幕空间的次表面散射效果实时绘制方法,属于计算机软件技术、计算机图形学、虚拟现实技术领域。
背景技术
全局光照和次表面散射是真实感绘制中非常重要的两类现象。直接模拟光线在介质中的传播可以实现这些效果,但是这种方法效率很低,难以用于实时绘制。因此在实时绘制领域常常采用近似的方法。
环境纹理可以用来近似距离较远的物体之间的间接光照。而距离较近的物体之间的遮挡和间接光照现象,则可以使用屏幕空间环境光遮挡(SSAO)(参考文献:Bavoil,Louis,and Miguel Sainz.“Screen space ambient occlusion.”NVIDIA developerinformation:http://developers.nvidia.com(2008).)和屏幕空间方向遮挡(SSDO)(参考文献:Ritschel,Tobias,Thorsten Grosch,and Hans-Peter Seidel.“Approximatingdynamic global illumination in image space.”Proceedings of the 2009symposiumon Interactive 3D graphics and games.ACM,2009.)等方法来实现。
包括皮肤、玉石在内的许多材质都有次表面散射现象(subsurface scattering)。光遇到这些材质的表面时,会有一部分进入材质内部,经过一次或者多次散射后再从表面的其他部位离开材质。Eugene d’Eon和David Luebke等提出使用高斯模糊叠加来模拟次表面散射现象(参考文献:d’Eon,Eugene,and David Luebke.“Advanced techniques forrealistic real-time skin rendering.”Gpu gems 3(2007):293-347.),对于人类皮肤绘制取得了非常好的效果。但是该方法在纹理空间上执行,效率较差而且复杂度和物体的数量成正比。Jorge Jimenez等将该方法在屏幕空间上重新实现(参考文献:Jimenez,Jorge,Veronica Sundstedt,and Diego Gutierrez.“Screen-space perceptual rendering ofhuman skin.”ACM Transactions on Applied Perception(TAP).Vol.6,No.4.ACM,2009.),使得算法的复杂度仅和屏幕分辨率和材质的数量有关,扩大了算法的适用范围。
发明内容
在上述几种散射现象的模拟方法中,所模拟的光照都集中在以光源照射的直接光照叠加环境纹理所代表的间接光照上,因而产生的间接光照所产生的散射效果不明显。本发明目的在于提出一种基于屏幕空间方向遮挡(SSDO)模拟间接光照光源,然后使用屏幕空间的高斯模糊叠加来模拟光线在物体次表面的散射现象,从而快速产生更精细的间接散射效果的方法。同时由于设计了一种基于屏幕空间的完整的光照计算和散射计算方法,本发明可以获得实时的绘制效果,同时具有较高的全局光照明的真实感。
本发明的技术方案为:
一种屏幕空间的次表面散射效果实时绘制方法,其步骤为:
1)对待绘制的三维模型进行几何处理,利用缓冲区记录该三维模型在屏幕空间中各像素点对应的几何信息、反射率和高光参数,利用模板缓冲区记录所述像素点对应的材质类型;所述几何信息包括位置、法向、切向和深度信息;
2)对步骤1)中记录的深度信息进行局部采样,得到该三维模型每一点在各个方向上的遮挡情况;然后采用环境纹理作为空间光源,计算出该三维模型中来自各个方向的入射光强度;然后基于该遮挡情况和各个方向的入射光强度分别计算出该三维模型表面反射的光照明以及穿过表面进入次表面的光照强度,将穿过表面进入次表面的光照强度称为直接光照并生成一张直接光照图表示该直接光照;
3)对该直接光照图进行局部采样,计算出来自各个方向的间接光照;
4)将步骤2)得到的该光照强度和步骤3)得到的间接光照均作为散射入射光照明,计算光线在次表面散射的光照明结果;
5)针对该三维模型中的半透明材质,计算半透明光照;
6)将步骤4)得到的次表面散射光照明、步骤2)得到的表面反射光照明以及步骤5)半透明光照产生的透射光照明叠加、融合并进行Gamma校正,得到该三维模型的绘制结果。
进一步的,步骤2)中计算出的所述光照强度与步骤3)计算出的间接光照分别存储在两张屏幕分辨率大小的纹理中。
进一步的,计算光线在次表面散射的光照明结果的方法为:将步骤2)得到的该光照强度和步骤3)得到的间接光照均作为次表面散射的入射光,对次表面入射光强度进行屏幕空间六次级联的高斯模糊,然后将得到的六个模糊结果进行加权叠加,得到光线在次表面散射的光照明结果。
进一步的,所述高斯模糊的方法为:首先对各像素点对应三维空间中点的世界坐标进行差分,得到各像素点在三维空间中的世界坐标随屏幕坐标的变化率dP/dx和dP/dy;计算差分结果的向量长度,得到世界坐标与屏幕坐标的距离之比dL/dx和dL/dy;然后用dx/dL和dy/dL乘上高斯核的标准差,得到高斯核在屏幕空间上的尺寸,然后根据高斯核大小进行高斯模糊。
进一步的,步骤2)中,该三维模型表面反射的光照明和穿过表面进入次表面的光照强度分别乘上一对应的比例因子,用于表明整个表面的入射光分配情况。
进一步的,步骤3)中,采用公式计算所述间接光照Lo;其中,Li(ωi)是间接入射光,ωi是入射光的方向,V(ωi)是SSDO的遮挡关系,θs是采样点的法向量与采样点和P点之间的连线所形成向量的夹角,θd是P点的法向量与采样点和P点之间的连线所形成向量的夹角,N为半球空间采样点/采样方向的数目,Δωi为每个采样方向所覆盖的立体角,ρ=ρd/2,ρd为漫反射能量占入射光能量的分量。
进一步的,步骤2)中,采用环境纹理作为空间光源,计算出该三维模型表面反射的光照明时,利用法向的差分值代替纹理坐标的差分值计算出每次纹理采样操作使用的Mipmap层次。
进一步的,所述局部采样的方法为:根据理想镜面反射定律估算出局部采样的方向;然后增加该方向的采样点数量,减少其他方向的采样点数量。
进一步的,计算半透明光照产生的透射光照明的方法为:对该三维模型预计算一张透明度纹理,该透明度纹理中记载该三维模型上与表面的每一采样点相对应的背侧点的位置以及该背侧点的法向量;然后利用Ltrans=E·T(s)计算半透明光照产生的透射光照明;其中,E表示从背侧点Pb入射的光照明,T(s)是光随距离衰减项,s为从P0到Pb的距离,Ltran为从背侧点Pb对应的采样点P0透射出的光照明。
进一步的,获得该透明度纹理的方法为:对于任意一采样点采样点P0,在该三维模型中寻找一Pb点,其法向量与P0点的法向量相反,且向量和P0的法向向量的夹角小于设定阈值。
与现有技术相比,本发明的积极效果为:
与现有的具有散射效果的实时绘制方法相比,本发明所提出的方法能够表现出更加逼真的光照细节。
附图说明
图1为本发明的方法流程图,其中方框表示处理步骤,而圆角方框表示由步骤生成的光照明结果;
图2为视点相关的深度作为厚度的示意图。
具体实施方式
下面结合附图对本发明进行进一步详细描述。
本发明的算法整体流程如图1所示。
1)首先执行的是三维模型的几何处理过程,该过程是向与屏幕窗口像素数目及分辨率等大的缓冲区中绘制物体所对应的三维模型。经过该绘制过程,缓冲区中的每个像素点都分别记录下对应的位置、法向、切向、深度等几何信息和反射率、高光参数等信息。该过程中还同时生成一个模板缓冲区,记录下各个像素点对应的物体的材质类型(例如皮肤/非皮肤,玉石/非玉石等)。
2)随后执行的是SSDO的直接光照计算步骤。通过对第1步中生成的缓冲区中所包含的深度缓冲区中的深度图像进行局部采样,近似计算出待绘制物体的三维模型每一点在各个方向上的遮挡情况;采用环境纹理作为空间光源,即可模拟出三维场景中来自各个方向的入射光强度。基于上述遮挡计算和入射光条件,分别计算出三维模型表面反射的光照明和穿过表面进入次表面的光照强度(称为直接光照),并生成一张直接光照图表示直接光照。
3)随后执行SSDO的间接光照计算步骤,对第2步所生成的直接光照图再进行一次局部采样,计算出来自各个方向的间接光照,计算生成一张间接光照图,以此光照作为次表面散射的另外一部分入射光。
4)将步骤2)和3)中通过SSDO计算得到的进入物体所对应的三维模型次表面的光强作为散射入射光照明,对这些纹理表示的次表面入射光强度进行屏幕空间六次级联的高斯模糊,将得到的六个模糊结果进行加权叠加,即可得到光线在次表面散射的结果,生成一张光照散射图。
5)针对该物体所对应的三维模型中的半透明材质,计算半透明光照。
6)将步骤4得到的物体所对应的三维模型次表面散射的光照明结果和步骤2得到的三维模型表面的反射光照明、以及由步骤5得到的三维模型半透明产生的透射光照明叠加、融合,并进行Gamma校正,就得到最终的绘制结果。
SSDO、级联高斯模糊的原理及其在屏幕空间上的实现在相应的参考文献中有较详尽的论述,本发明对每个算法的具体细节在此不作赘述。
2.2光照计算
物体表面光照的原理如下:物体的表层起着反射光的作用,一部分入射光在物体表层被反射,这部分光并没有进入物体的次表面,自然也没有被物体的次表面所散射以及着色。没有被物体表面所反射的光进入了物体的次表面,一部分光线被物体的次表面所吸收。这部分被吸收的光使得物体本身获得了在光源照射下的颜色,而另一部分光线则直接被散射。被散射的光线有可能重新入射物体的其他部位,从而又进行再一次的反射和散射。
与此相对应,三维模型的光照的计算可以模拟上述光与物体发生作用的过程,并得到最终物体表面的着色。SSDO的核心计算过程可以概括为两个公式,第一个是物体表面受到直接光照的计算公式1:
其中Li(ωi)是来自于周围环境的直接入射光,既可以用环境纹理的采样结果作为入射光,也可以用多个点光源来计算,ωi是入射光的方向,ωo是出射的方向,V(ωi)是SSDO的遮挡关系测试结果,Δωi=2π/N,N为半球空间采样点/采样方向的数目,Δωi为每个采样方向所覆盖的立体角。如果使用物体材料的表面反射BRDF,那么该式计算出的Lo就是全局光照条件下该物体的表面直接反射光。但是类似人脸皮肤等材料本质上在表面最主要发生的是散射而不是反射,而且也无法用表面反射的BRDF来描述。然后由于人脸皮肤等表面是各向同性的,也就是说散射的入射光照在一个点上朝各个方向的分布都是均匀的,这个特性可以使用理想漫反射的BRDF:即ρ/π来描述(ρ=ρd/2,ρd为漫反射能量占入射光能量的分量),那么该式可以用来表示进入次表面的等效入射光强度,也就是在次表面介质中入射的光强度等于依照此BRDF漫反射模型的计算出的出射光强度。
所以上述公式会采用不同的BRDF计算两遍,一遍是用来计算从表面产生的反射光照,而另外一遍是用来计算进入次表面的光强度。以上两部分直接光照都将乘以一个比例,以表明整个表面的入射光如何分配,一部分进行了反射,一部分进入次表面进行散射;计算的结果将存储在两张屏幕分辨率大小的纹理中。
第二个公式是计算物体表面受到间接光照的公式2:
其中此处的Li(ωi)是基于SSDO的原理所使用的间接入射光,该间接入射光是通过对屏幕空间中该点周围的像素点进行采样而得到的光照作为间接入射光,θs和θd分别是当前采样点的法向量、P点的法向量与这两点(采样点和P点)之间的连线所形成向量的夹角,1-V(ωi)>0表示该点被遮挡,d为采样点到当前计算的P点的距离。Ai是第i个采样点对应的面积,由于每个采样点对应的立体角都是2π/N,所以Ai=2πd2/N=Δωid2,上式化为公式3:
可以看出,与直接光照相比,该式只是多了一个cosθs项,并且把V(ωi)反转。
为了减少计算量,在计算表面的间接光照时,还进行了下面两种近似:
1.间接光照来源
严格地说,间接光照的来源主要有如下的两种:1)光线在进入物体(以皮肤为最具有代表性)所对应三维模型的次表面后,首先进行散射,散射后的出射光线再射入临近的物体所对应三维模型,才引起间接光照,然后间接光照又进入次表面进行散射。如果直接按照这种方式计算间接光照,计算的步骤为:直接光照—>散射—>间接光照—>散射。这样就要执行两次散射计算,而散射计算涉及到六次高斯模糊,即使是在屏幕空间进行,其复杂度也还是比较高的。考虑到具有次表面散射特质的物体如人类皮肤各个部分的颜色其实差别不大,而且散射主要影响的是皮肤的细节外观,而间接光照本身就会丢失大量的细节特征,只保留模糊的颜色特征。因此用散射前的结果还是用散射后的结果,对间接光照的影响是不大的。2)另一类间接光照的来源就是:直接光照—>间接光照—>散射。这种方式就省掉了一次散射的计算,因此本发明在实现时可以近似采取此种间接光照的生成方式,直接光照采用公式1的方式来计算,间接光照采用公式3的方式来进行计算,散射的计算在后面的2.3节论述。
2.忽略间接表面反射
间接光照不但会产生次表面入射光,也会产生表面反射光。如果能把这部分加入计算,对三维物体的绘制结果的真实感是会有帮助的,但同时也会增加计算负担。以皮肤为例,根据文献(参考d’Eon,Eugene,and David Luebke.“Advanced techniques forrealistic real-time skin rendering.”Gpu gems 3(2007):293-347)中的介绍,皮肤的表面反射率大多数情况下都较低,只有在少数角度下反射光具有较高的强度。另一方面,从皮肤中散射出的光已经被染上了皮肤的颜色,它的反射光也必然和皮肤的颜色比较接近,难以分辨。这种情况下,可以忽略这部分反射光。需要注意的是,如果间接光照的来源不是皮肤,而是另一个具有较高反射率,但是颜色不同的物体,那么间接光的表面反射还是比较明显的,这种情况下可能不能忽略这部分反射光。
环境纹理的Mipmap采样
在上面的SSDO直接光照和SSDO间接光照过程中,都需要使用环境纹理来模拟周围环境光源,并通过对环境纹理进行采用的方式近似获得周围环境的光照。通常情况下,GPU会根据纹理坐标的变化率计算每次纹理采样操作使用的Mipmap层次。而纹理坐标的变化率是通过局部差分得到的,这就要求片段着色器在每次执行时遵循相同的执行路径,只有这样相邻两个像素的纹理坐标才存在一一对应的关系。显然,在SSDO的计算过程中,这个条件是不被满足的:如果某个方向被遮挡了,这个方向就不会执行环境纹理采样。另外,为了提高等效的采样精度,常常将SSDO的采样核进行局部随机旋转,这样一来任何两个相邻像素的纹理坐标都不存在对应关系了,相邻两个像素的纹理坐标差分值会非常大。如果仍然让GPU自行计算Mipmap层次,那么使用的Mipmap分辨率可能会非常低,得到的采样结果会十分混乱。
因此,在使用SSDO方法计算直接光照的过程中,必须自己指定Mipmap的层次。本发明提出一种可行的方法是通过计算法向的差分,用这个差分值代替纹理坐标的差分值计算出Mipmap层次。
非均匀采样
在步骤2)中,使用环境纹理作为入射光源计算三维模型表面反射的光照明,需要对环境纹理进行采样。在均匀采样的前提下,实现表面反射需要大量的采样点。其实皮肤表面的反射特征与入射光的方向高度相关,视点方向固定的情况下,只有一小部分方向上的入射光会造成强烈的反射光,根据理想镜面反射定律可以大致估算出形成强烈发射光所在的方向。本发明设计对这些方向着重采样,减少其他方向的采样点数量,就能在减少采样点的同时提高反射光的精度。
2.3次表面散射光照计算
本发明的次表面散射计算方法采用近似的计算法方法,文献(参考Jimenez,Jorge,Veronica Sundstedt,and Diego Gutierrez.“Screen-space perceptualrendering of human skin.”ACM Transactions on Applied Perception(TAP).Vol.6,No.4.ACM,2009.)中提出的算法利用了深度信息来估计高斯模糊的卷积核的大小。这种方法的优点是可以直接利用已有的深度缓冲,缺点是理论性不强,需要根据经验调整各系数的大小才能得到较好的结果。高斯模糊的操作必须在屏幕空间中进行,但是模糊半径又必须是3D空间中的物理长度,因此首先需要将世界坐标系中的物理长度转换为屏幕空间中的长度才能进行准确的模糊操作。如果能计算出各点的空间距离与屏幕坐标之间的对应关系,以此来计算高斯核的大小,其结果将会更为准确。在本发明的方法中,在前面SSDO的计算过程中,已经得到了各个像素点对应三维空间中点的世界坐标,对其进行差分计算,就能得到在三维空间中的世界坐标随屏幕坐标的变化率dP/dx和dP/dy。上述差分的结果是向量,求向量的长度,则可得到世界坐标与屏幕坐标的距离之比dL/dx和dL/dy。再求倒数,就得到dx/dL和dy/dL。用这两个值乘上高斯核的标准差,就得到高斯核在屏幕空间上的尺寸,然后根据高斯核大小进行高斯模糊。
半透明效果
光线如果从入射表面的对面穿出,就会形成半透明的材质效果。参考文献d’Eon,Eugene,and David Luebke.“Advanced techniques for realistic real-time skinrendering.”Gpu gems 3(2007):293-347.和Jimenez,Jorge,et al.“Real-timerealistic skin translucency.”Computer Graphics and Applications,IEEE 30.4(2010):32-41,分别介绍了如何在纹理空间和屏幕空间实现这种半透明效果。但是二者的共同点都是假设物体表面和光源的连线在物体中截得的线段长度是透射的厚度。在环境光源的情况下,由于光源不是一个点,这样的连线是不存在的。怎样在不存在具体的光源方向时也能计算透射厚度是一个值得研究的问题。可以采用的方法是在视点处做深度剥离(depth peeling),用前后两层深度差作为厚度,但是该方法得到的厚度和视点高度相关,稍微移动视点就会造成很大的厚度变化。如图2所示,从视点O看到的P点对应的下一层深度上的A点,但是线段PA并不是真正的透明材质的厚度,真正的厚度应该是PB线段,因此该方法误差大,且随视点变化剧烈。
替代的方法是采用预处理的方法预先计算好每一点的厚度,将纹理映射的方法应用到三维模型上。本发明的实现方法是针对一个物体所对应的三维模型预计算一张透明度纹理,该透明度纹理中记载了一个三维模型上与表面的采样点相对应的背侧点的位置以及该背侧点的法向量,隐含可以得到该模型的厚度的信息。获得透明度纹理的方法如下:
假设正侧表面一点P0相对应的背侧点Pb需要通过如下的搜索得到,从而找到一个距离P0点距离最近的候选点:
1)Pb点的法向量必须与P0点的法向量相反,即nb·n0<0
2)向量和P0的法向向量的夹角必须小于某一个设定的阈值,即
cosθ0,θ0为设定的阈值。
通过上述步骤,可以计算得到一个正侧的点P0及其对应的背侧的点Pb,从P0到Pb的距离就是半透明物体的厚度,记为s。则透射光可以近似计算如下:Ltrans=E·T(s),其中E表示从背侧入射的光照明,而T(s)是光随距离衰减的项,Ltran则为从P0点透射射出的光照明。
Gamma矫正
为了照顾人眼的视觉特性和早期的阴极射线管显示器的显示特性,常见的纹理图像和显示设备都采用了2.2的Gamma值,而BRDF和次表面散射模型中使用的光强都是线性的,因此在纹理采样和像素颜色输出时,都要执行Gamma矫正操作,否则计算结果将与真实结果相去甚远。直接用未矫正的Gamma值进行高斯模糊叠加的结果,与使用了Gamma矫正相比,可以看到皮肤的颜色泛白发虚,没有皮肤应有的红润感。
Claims (10)
1.一种屏幕空间的次表面散射效果实时绘制方法,其步骤为:
1)对待绘制的三维模型进行几何处理,利用缓冲区记录该三维模型在屏幕空间中各像素点对应的几何信息、反射率和高光参数,利用模板缓冲区记录所述像素点对应的材质类型;所述几何信息包括位置、法向、切向和深度信息;
2)对步骤1)中记录的深度信息进行局部采样,得到该三维模型每一点在各个方向上的遮挡情况;然后采用环境纹理作为空间光源,计算出该三维模型中来自各个方向的入射光强度;然后基于该遮挡情况和各个方向的入射光强度分别计算出该三维模型表面反射的光照明以及穿过表面进入次表面的光照强度,将穿过表面进入次表面的光照强度称为直接光照并生成一张直接光照图表示该直接光照;
3)对该直接光照图进行局部采样,计算出来自各个方向的间接光照;
4)将步骤2)得到的直接光照和步骤3)得到的间接光照合起来作为次表面散射的入射光,计算出光线在次表面散射的光照明;
5)针对该三维模型中的半透明材质,计算半透明光照;
6)将步骤4)得到的次表面散射光照明、步骤2)得到的表面反射光照明以及步骤5)半透明光照产生的透射光照明叠加、融合并进行Gamma校正,得到该三维模型的完整光照明绘制结果。
2.如权利要求1所述的方法,其特征在于,步骤2)中计算出的所述光照强度与步骤3)计算出的间接光照分别存储在两张屏幕分辨率大小的纹理中。
3.如权利要求1所述的方法,其特征在于,计算光线在次表面散射的光照明结果的方法为:将步骤2)得到的该光照强度和步骤3)得到的间接光照均作为次表面散射的入射光,对次表面入射光强度进行屏幕空间六次级联的高斯模糊,然后将得到的六个模糊结果进行加权叠加,得到光线在次表面散射的光照明结果。
4.如权利要求3所述的方法,其特征在于,所述高斯模糊的方法为:首先对各像素点对应三维空间中点的世界坐标进行差分,得到各像素点在三维空间中的世界坐标随屏幕坐标的变化率dP/dx和dP/dy;计算差分结果的向量长度,得到世界坐标与屏幕坐标的距离之比dL/dx和dL/dy;然后用dx/dL和dy/dL乘上高斯核的标准差,得到高斯核在屏幕空间上的尺寸,然后根据高斯核大小进行高斯模糊。
5.如权利要求1所述的方法,其特征在于,步骤2)中,该三维模型表面反射的光照明和穿过表面进入次表面的光照强度分别乘上一对应的比例因子,用于表明整个表面的入射光分配情况。
6.如权利要求1所述的方法,其特征在于,步骤3)中,采用公式 计算所述间接光照Lo(P);其中,Li(ωi)是间接入射光,ωi是入射光的方向,V(ωi)是SSDO的遮挡关系,θs是采样点的法向量与采样点和P点之间的连线所形成向量的夹角,θd是P点的法向量与采样点和P点之间的连线所形成向量的夹角,N为半球空间采样点/采样方向的数目,Δωi为每个采样方向所覆盖的立体角,ρ=ρd/2,ρd为漫反射能量占入射光能量的分量。
7.如权利要求1所述的方法,其特征在于,步骤2)中,采用环境纹理作为空间光源,计算出该三维模型表面反射的光照明时,利用法向的差分值代替纹理坐标的差分值计算出每次纹理采样操作使用的Mipmap层次。
8.如权利要求1所述的方法,其特征在于,所述局部采样的方法为:根据理想镜面反射定律估算出局部采样的方向;然后增加该方向的采样点数量,减少其他方向的采样点数量。
9.如权利要求1所述的方法,其特征在于,计算半透明光照产生的透射光照明的方法为:对该三维模型预计算一张透明度纹理,该透明度纹理中记载该三维模型上与表面的每一采样点相对应的背侧点的位置以及该背侧点的法向量;然后利用Ltrans=E·T(s)计算半透明光照产生的透射光照明;其中,E表示从背侧点Pb入射的光照明,T(s)是光随距离衰减项,s为从P0到Pb的距离,Ltran为从背侧点Pb对应的采样点P0透射出的光照明。
10.如权利要求9所述的方法,其特征在于,获得该透明度纹理的方法为:对于任意一采样点采样点P0,在该三维模型中寻找一Pb点,其法向量与P0点的法向量相反,且向量和P0的法向向量的夹角小于设定阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710157243.XA CN107016719B (zh) | 2017-03-16 | 2017-03-16 | 一种屏幕空间的次表面散射效果实时绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710157243.XA CN107016719B (zh) | 2017-03-16 | 2017-03-16 | 一种屏幕空间的次表面散射效果实时绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107016719A true CN107016719A (zh) | 2017-08-04 |
CN107016719B CN107016719B (zh) | 2019-10-25 |
Family
ID=59440366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710157243.XA Active CN107016719B (zh) | 2017-03-16 | 2017-03-16 | 一种屏幕空间的次表面散射效果实时绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107016719B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107564090A (zh) * | 2017-09-07 | 2018-01-09 | 杭州美齐科技有限公司 | 一种三维牙颌模型渲染方法 |
CN110084873A (zh) * | 2018-01-24 | 2019-08-02 | 北京京东尚科信息技术有限公司 | 用于渲染三维模型的方法和装置 |
CN110298910A (zh) * | 2019-07-04 | 2019-10-01 | 珠海金山网络游戏科技有限公司 | 一种光照计算方法、装置、计算设备及存储介质 |
CN111768473A (zh) * | 2020-06-28 | 2020-10-13 | 完美世界(北京)软件科技发展有限公司 | 图像渲染方法、装置及设备 |
CN112686984A (zh) * | 2020-12-18 | 2021-04-20 | 完美世界(北京)软件科技发展有限公司 | 次表面散射效果的渲染方法及装置、设备、介质 |
WO2023169013A1 (zh) * | 2022-03-08 | 2023-09-14 | 腾讯科技(深圳)有限公司 | 三维空间的全局光照计算方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070080358A1 (en) * | 2005-10-06 | 2007-04-12 | Luminoso Photoelectric Technology Co. | White light emitting device |
CN102314704A (zh) * | 2011-09-21 | 2012-01-11 | 北京航空航天大学 | 一种基于brdf的次表面散射的实时绘制方法 |
CN105261059A (zh) * | 2015-09-18 | 2016-01-20 | 浙江大学 | 一种基于在屏幕空间计算间接反射高光的渲染方法 |
-
2017
- 2017-03-16 CN CN201710157243.XA patent/CN107016719B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070080358A1 (en) * | 2005-10-06 | 2007-04-12 | Luminoso Photoelectric Technology Co. | White light emitting device |
CN102314704A (zh) * | 2011-09-21 | 2012-01-11 | 北京航空航天大学 | 一种基于brdf的次表面散射的实时绘制方法 |
CN105261059A (zh) * | 2015-09-18 | 2016-01-20 | 浙江大学 | 一种基于在屏幕空间计算间接反射高光的渲染方法 |
Non-Patent Citations (3)
Title |
---|
李思宇等: "利用深度图优化的自然光束体构建与绘制", 《计算机辅助设计与图形学学报》 * |
李胜等: "具有散射效果的室内外光束实时绘制", 《计算机辅助设计与图形学学报》 * |
管琛琛: "多种光照效果在纹理映射体绘制中的实现", 《现代计算机》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107564090A (zh) * | 2017-09-07 | 2018-01-09 | 杭州美齐科技有限公司 | 一种三维牙颌模型渲染方法 |
CN110084873A (zh) * | 2018-01-24 | 2019-08-02 | 北京京东尚科信息技术有限公司 | 用于渲染三维模型的方法和装置 |
CN110084873B (zh) * | 2018-01-24 | 2023-09-01 | 北京京东尚科信息技术有限公司 | 用于渲染三维模型的方法和装置 |
CN110298910A (zh) * | 2019-07-04 | 2019-10-01 | 珠海金山网络游戏科技有限公司 | 一种光照计算方法、装置、计算设备及存储介质 |
CN111768473A (zh) * | 2020-06-28 | 2020-10-13 | 完美世界(北京)软件科技发展有限公司 | 图像渲染方法、装置及设备 |
CN111768473B (zh) * | 2020-06-28 | 2024-03-22 | 完美世界(北京)软件科技发展有限公司 | 图像渲染方法、装置及设备 |
CN112686984A (zh) * | 2020-12-18 | 2021-04-20 | 完美世界(北京)软件科技发展有限公司 | 次表面散射效果的渲染方法及装置、设备、介质 |
CN112686984B (zh) * | 2020-12-18 | 2022-04-15 | 完美世界(北京)软件科技发展有限公司 | 次表面散射效果的渲染方法及装置、设备、介质 |
WO2023169013A1 (zh) * | 2022-03-08 | 2023-09-14 | 腾讯科技(深圳)有限公司 | 三维空间的全局光照计算方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107016719B (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107016719B (zh) | 一种屏幕空间的次表面散射效果实时绘制方法 | |
Christou et al. | Visual realism and virtual reality: a psychological perspective | |
EP2107530B1 (en) | Rendering of subsurface scattering effects in translucent objects | |
Jimenez et al. | Real-time realistic skin translucency | |
CN107644453A (zh) | 一种基于物理着色的渲染方法及系统 | |
Paquette et al. | A light hierarchy for fast rendering of scenes with many lights | |
CN103679818B (zh) | 一种基于虚拟面光源的实时场景绘制方法 | |
McGuire et al. | Phenomenological transparency | |
Grosch | Differential Photon Mapping-Consistent Augmentation of Photographs with Correction of all Light Paths. | |
JP3012828B2 (ja) | 描画方法、装置および記録媒体 | |
Hall et al. | Algorithms for realistic image synthesis | |
Kim et al. | Subsurface scattering using splat-based diffusion in point-based rendering | |
González et al. | based ambient occlusion | |
Wang et al. | Rendering transparent objects with caustics using real-time ray tracing | |
Zhou | Accurate depth based post-processing for perception enhancement in real time three-dimensional graphics | |
Sorokin et al. | Restoration of light parameters and forming criteria for the quality estimation of visual perception in mixed reality systems using neural networks | |
Magnenat-Thalmann et al. | An indexed bibliography on image synthesis | |
Luo | Interactive Image-Space Rendering of Dispersions | |
Mahmud et al. | Surrounding-aware screen-space-global-illumination using generative adversarial network | |
Ganster et al. | Realtime shading of folded surfaces | |
González García et al. | Based Ambient Occlusion | |
Tao et al. | Application of Bump-effects in a Postprocessing step | |
Yang et al. | Realistic real-time rendering of human face with environment lighting | |
Krösl | Interactive, progressive photon tracing using a multi-resolution image-filtering approach | |
Peschel et al. | Plausible visualization of the dynamic digital factory with massive amounts of lights |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |