非均匀玉石真实感实时渲染方法

2016-09-14 07:22温佩芝朱立坤
桂林电子科技大学学报 2016年4期
关键词:半透明高光玉石

温佩芝,朱立坤,黄 佳

(1.桂林电子科技大学 计算机与信息安全学院,广西 桂林 541004;2.桂林电子科技大学 广西高校图像图形智能处理重点实验室,广西 桂林 541004)



非均匀玉石真实感实时渲染方法

温佩芝1,2,朱立坤1,2,黄佳1,2

(1.桂林电子科技大学 计算机与信息安全学院,广西 桂林541004;2.桂林电子科技大学 广西高校图像图形智能处理重点实验室,广西 桂林541004)

针对具有非均匀特性的半透明高光玉石真实感渲染问题,提出一种利用高光层、散射层光照模型叠加的模拟方法。该方法结合散射剖面实现非均匀玉石多重散射的效果,同时利用预计算的本地厚度贴图结合高斯模糊,实现基于表面厚度的光透射表现,并通过与基于微平面的高光反射项在能量守恒的基础上叠加,达到模拟真实感的效果。实验结果表明,该方法能实现不同种类非均匀玉石的真实感渲染,并保证了模型片面数较多情况下的实时效率。

非均匀材质;多重散射;散射剖面;光照模型

非均匀高光玉石是一类在视觉表现上具有特殊光学特性的物体,包括镜面反射、光线散射等,使用三维重建技术对非均匀玉石进行数字化重建,其得到的三维网格及纹理信息无法还原出真实玉石具有的半透明光泽表现,所以非均匀玉石的真实感重建一直是三维重建的难题。非均匀玉石的物理属性较为复杂,当光线进入非均匀玉石内部,部分光线在表面被反射和散射,余下部分的光线经过折射进入内部组织,再进行一系列散射后被吸收或穿越玉石,通常称这种光线发生散射、吸收及衰减的现象为次表面散射(subsurface scattering,简称SSS)。在次表面绘制的研究中,Jensen等[1]提出了简化双向表面散射反射分布函数(bidirectional surface scattering reflection distribution function,简称BSSRDF)的处理方法,该方法把半透明材质中的光线传播分为单次散射和多重散射,较好地模拟了真实散射过程;Donner等[2]在此基础上提出多极子对偶模型,描述了光线在多层中的传输与反射。但这些基于真实感的渲染方式需要较长的绘制时间,达不到实时要求。在实时渲染方面,Munoz等[3]提出基于单独图片的方法模拟BSSRDF,实现了半透明材质的真实感模拟;Jimenez等[4]用基于屏幕空间的次表面散射方法,大幅度提升了多重散射的渲染效率,但只适用于特定的具有半透明特点的物体,通用性略差。

针对非均匀玉石在物理光学表现上具备的多重散射及表面散射不规则的特点,提出采用高光、散射光照模型线性叠加的方式,模拟真实玉石的半透明现象。首先考虑非均匀玉石的散透射表现与光线在其内部的传输距离有关,提出用本地预烘焙的厚度贴图来表示光线在物体内部传输的距离,并以传输距离作为散射及透射光线的衰减因子,实现不同的光线传输距离对非均匀玉石散透射视觉效果;然后为使光线衰减过程具备物理特性,采用6个高斯函数叠加的方式模拟光线在玉石内部传播的衰减表现,形成视觉上的散射剖面,利用厚度贴图中的厚度信息作为散射剖面的距离影响因子,实现随衰减距离和散射剖面而改变的散射表现;最后在综合Green[5]、D’Eon[6]和Penner[7]方法的基础上,预积分单个高斯函数对光线产生的模糊效果到一张双向反射分布函数(bidirectional reflectance distribution function,简称BRDF)散射查找贴图,并在片元着色器中,把光线散射权重与查找贴图中的对应项相乘,得到基于不同散射剖面的散射项,解决了不同的非均匀玉石具备不同散射剖面的问题。实验结果表明,光照模型叠加的方法能较为逼真地模拟非均匀玉石光感表现,且能保证片面数较大情况下的实时效率。

1 相关理论背景

研究对象为具有非均匀半透明特质的玉石材质,具有多重散射的特点。在多重散射的近似研究领域,文献[5-7]提出了利用高斯模糊模拟散射的方法。

NVIDIA公司的Green[5]用环绕散射近似散射,其以光矢量和法线的点积为索引,修改漫反射函数,使得光照环绕在物体的周围,越过正常时变暗的点,形成一种散射的简单近似效果,但其衰减过程不具备真实物理特性。随后,NVIDIA的D’Eon[6]在纹理空间中结合散射剖面(diffuse profile)的方法,从视觉上模拟半透明的多重散射效果。图1(a)为散射剖面,是在一个完全黑暗的场景中,一束白光照射到半透明物体产生的光线发散效果,其近似地描述了光在半透明材质表面的传播与散射方式,并可利用带有散射参数的数学模型模拟Donner[2]提出的多级子对偶模型。对给定光束的距离,将红、绿、蓝相应的剖面表述为光的散射量,如图1(b)所示,其中,从上往下依次是蓝、绿、红通道的扩散曲线,通过观察散射剖面的光线散射并分析其衰减过程,可发现其过程与一维高斯函数曲线类似,尽管单个高斯项不能精确适用于任何散射剖面,但多个高斯项的叠加可以提供比较真实的近似结果。其散射剖面分布曲线R(r)为:

(1)

图1 Penner算法示意图Fig.1 Schematic diagram of Penner algorithm

其中:r为光线到达半透明材质表面的中心点与溢出点的径向距离,r=‖xi-xo‖;wi为权重,代表每个高斯函数模糊的比重;vi为方差,表示光线散射的偏离程度。高斯项被描述为:

(2)

其中选择常数1/2πv是为了当使用一个径向2D模糊时,G(v,r)不会使输入图像亮度有所变化。

在D’Eon[6]的方法中,使用纹理空间高斯卷积拟合散射剖面的方法,用式(2)的高斯拟合项,形成与真实散射相似的散射剖面,实现较为真实的漫反射散射效果。

但以上方法需要在纹理空间作多次高斯卷积,效率较低,所以Penner[7]根据D’Eon[6]提出的散射剖面理论,采用本地预积分基于散射剖面的BRDF查找图的方式代替D’Eon纹理空间高斯模糊法,以达到更高的渲染效率。由经典Lambertian模型可知,物体表面法线N与光矢量L的点积是影响入射光强度的重要因素,而且物体表面形状也从视觉上影响散射表现。为此,Penner提出:

1)以模型表面法线与光矢量的点积,即(N·L)为影响表面光线的R、G、B通道以不同速度衰减的决定因子,结合高斯卷积与环绕光照的方法,应用基于真实测量的R、G、B通道衰减权重值形成的扩散面分布R(r),使光线在物体中衰减时具有物理性。

2)Green[5]提出的环绕光照算法,在物体表面每处产生的散射效果均相同,与半透明物体的实际散射效果不同。为解决此问题,首先采用预计算物体表面的曲率信息的方法得到不同表面产生的不同散射值,这里使用相似三角形的方法预计算模型表面曲率;然后将1)中的(N·L)作为决定模型表面散射的第一个参数,将曲率作为第二个参数;最后利用式(3)将散射剖面预积分在一个曲率一定的环形表面上,由此得到一张以曲率为y坐标,(N·L)为x坐标的散射BRDF查找图,见图1(c)。其积分表达式为:

其中:θ为N~L所有可能的角度;r为表面曲率;R(2rsin(x/2))为式(1)散射剖面的扩散面分布曲线。

2 散射改进算法

非均匀玉石进行图像三维重建后,得到的数字化模型由网络模型与纹理贴图2个部分信息组成,其中纹理贴图由图像序列加权平均得到,不含任何光照信息,因此,重建模型会有表面“干涩”的失真表现,如图2所示。为还原非均匀玉石真实光感,提出光照模型在物理守恒的基础上线性叠加的思路,假设L为模型中顶点的光照强度,则

(4)

其中:Lrs、Lrd分别为高光反射项和漫反射散射项光强度。

图2 真实物体二维照片与重建模型对比Fig.2 Comparison of real 2D photo and reconstruction model

2.1基于GGX分布函数的高光反射光强度计算

物体表面高光的表现分为基于经典光照模型与基于物理光照模型2种展现形式,针对重建玉石表面具有不完全平整特性,选用物理模型中基于微平面的Cook-Torrance分布模型模拟真实物体的高光反射,计算式为:

(5)

(6)

则V(l,v,h)代表有效微平面中没有被遮挡的比例,为有效可视因子。式(5)中的F(l,h)为有效微平面(法向量n等于光线与视线的中间向量h)产生的Fresnel反射,计算光学折射反射比率,D(h)为微平面的法线分布函数。

针对非均匀玉石的高光表现,比较了Phong、GGX、Beckmann等高光分布函数,发现玉石的高光与GGX分布函数呈现的效果较为相似,见图3(a)、(b),故本研究采用GGX[8]方法,以达到模拟玉石温润效果的柔和高光域,如图3(d)所示。GGX分布函数基于Cook-Torrance分布模型,其中D(h)为:

(7)

其中:α为表面粗糙度的平方;n为法线向量;h为半角向量。

为匹配D项,可见因子V项与Fresnel项均采用对应的Schlick模型,它们的表达式为:

(8)

(9)

其中:k=α/2;l为光线方向向量;v为视角方向向量;f0为高光反射向量正好在法线向量位置时Fresnel函数的值。高光模型对比实验效果如图3所示。

图3 高光模型对比Fig.3 Comparison of specular model

2.2改进的快速次表面散射模拟

当光线照射玉石表面,除去在表面层发生的高光反射外,更多光束进入模型内部发生散射与透射,最终溢出模型表面到达人眼,这种效果称为次表面散射效果。次表面散射过程通常用BSSRDF模型描述,BSSRDF模型由单次散射与多重散射组成,

(10)

其中:So为单次散射分量;Sd为多重散射分量。

本研究的非均匀玉石内部组成粒子呈不规则多样化,因此,多次散射占主导作用,但在玉石的稀薄区域,仍存在很大一部分的单次散射。为达到此效果,用多次散射模拟次表面散射,并在稀薄区域加入透射表现单次散射效果。

2.2.1本地烘焙厚度贴图

为表现物体表面形状对表面光感的影响,Penner等[7]提出了利用相似三角形求物体表面曲率实现基于不同曲率的光强分布的方法,其特点是针对表面光滑的物体表现良好,但对表面曲率变化大的模型不能很好适用。本研究针对的三维重建物体大多形态复杂,无法避免表面曲率变化大这一特性。为解决该问题,利用光线在物体中被散射和吸收的大小与传播距离有关的原理,采用厚度贴图代替表面曲率的方式,模拟模型不同形状表面的不同散射强度。厚度贴图在透明阴影贴图(translucentshadowmaps,简称TSM)[9]的基础上,利用环境光闭塞(ambientocclusion,简称AO),即越薄的地方闭塞信息越多的原理,实现光线在物体内部根据其厚度而变化的光强表现。具体实现步骤为:

1)在3D软件工具中翻转物体表面法线向量。

2)由于环境光闭塞决定了到达表面顶点的环境光大小,越相互靠近的网格间的闭塞信息就越多。在翻转法线的基础上,利用3D工具烘焙出AO贴图,则贴图中闭塞信息多的地方可默认为厚度较薄。

3)翻转顶点颜色存储贴图。

由此可以得到一张白色代表透明度、黑色代表不透明度的物体厚度贴图,相比于场景渲染得到的深度贴图,使用厚度贴图可以基于本地预先烘焙,减轻渲染场景的计算量。相比于Penner等[7]用曲率表现散射的方式,利用厚度贴图的方法不存在高曲率表面散射表现失效的问题。但针对形状较为复杂的模型,计算机在计算深度时难免有误差,可利用本地计算得到的厚度贴图,在图像处理软件中手动调整,以达到所需的最佳效果。

2.2.2基于透射算法的单次散射光强度计算

非均匀玉石的光感表现中,稀薄区域通常较为玲珑剔透,这是由于次表面散射中单次散射为主导产生的,在视觉表现上与光的透射非常相似。因此,根据Jimenez[10]的方法结合预烘焙的厚度贴图,模拟非均匀玉石中单次散射在视觉上呈现的透射现象。对于透射光的计算,阴影区域中位置C的传输光线如图4所示。为计算阴影背光面上C点经向光面(A点面)透射作用产生的出射幅度,D’Eon[6]提出利用修改后的半透明阴影贴图,存储向光表面的z信息与(u,v)坐标,使阴影面中的点可以透过模型对应的厚度,访问高斯卷积后的模糊纹理贴图,模拟全局传播光照。在此基础上,对阴影处C点的出射光估计,首先考虑向光面上A点及A周围采样点接收到所有光照和;然后叠加计算每一个采样点中光照的散射剖面R(d),其中,d为从C至A点周围采样点的距离;最后用厚度贴图的厚度信息替代距离d得到基于厚度的散射表现。

图4 C点传输光线示意图Fig.4  Transmitted light of point C

由于阴影背光面上C点的出射光计算相对复杂,D’Eon指出B处的出射光非常接近C,故采用B点的出射强度估算C点,B点的出射光为向光面上距A点r距离的任意采样光点的剖面卷积,计算式为:

(11)

则C点出射辐射量为A点及周围点的辐照度与到达C点的散射剖面的乘积,所以C点平面上的出射辐射量为:

(12)

假设A点周围点的出射辐射量与A点相同,则有E(x,y)=E,将其代入式(12)中,有

(13)

将式(11)代入式(13),并考虑高斯拟合的散射剖面,可得

(14)

由此得到仅依靠E和d的表达式。从图4可看出,用距离s近似表达d,重写函数可得最后基于距离s的光线衰减函数T(s):

(15)

(16)

其中s为光线传输距离。式(16)可计算实现一个基于距离s的透射光衰减查找图,而距离s即为烘焙得到的厚度贴图中的厚度信息,经厚度贴图查找出散射值后,与原有纹理贴图相乘,得出最后的模拟单次散射效果的透射光强度Lt:

(17)

其中I为模型的纹理颜色贴图。

2.2.3基于可变散射剖面的多重散射光强度计算

除去稀薄区域中以单次散射为主的光透射现象,非均匀玉石的绝大部分次表面散射表现为多重散射,在多重散射的模拟上,结合Penner[7]算法中的预积分散射剖面的方法,并根据不同种类非均匀玉石具有不同散射剖面的特点,改进基于精确测量数据硬编码的散射剖面查找图,提出一种散射剖面可独立于查找贴图的方法,实现基于表面厚度的可变散射剖面的散射表现。具体实现过程如下:

1)预积分阶段在式(3)基础上,使用高斯函数替换散射剖面,将单个高斯函数在曲率一定的环形表面上做预积分,

首先,需要政府制定陕西省创新发展战略和夯实计划,指导科技创新的发展方向,这是科技创新驱动区域协调发展的前提基础。创新驱动区域协调发展思想提出后,陕西省相继制定了《陕西省实施创新驱动发展战略纲要》,签订了“陕西省自然科学基础研究计划企业联合基金”“陕煤化联合基金”和“引汉济渭联合基金”合作协议等,这对于今后的科研投入及成果的转化具有重要意义。

(18)

其中G(v,(2rsin(x/2)))为高斯项。

2)θ作为变量,将光线衰减积分在曲率一定的环形表面上,在其基础上以不同的表面曲率r为变量y,光线方向与表面法线点积(N·L)为变量x烘焙出散射BRDF查找图,如图5所示。

图5 预积分BRDF查找图Fig.5 Look-up map of pre-integrated BRDF

3)在片元着色器中,实现基于不同散射剖面的散射。首先,由烘焙得到的厚度贴图代替BRDF查找曲率r,并从渲染场景中获取(N·L),在查找图中查找对应的模糊项;然后,设定不同半透明玉石的散射剖面中R、G、B通道散射权重wi,并与BRDF查找图中对应的模糊项相乘,得到最后的多重散射Ld,实现用非硬编码的散射剖面模拟散射。

(19)

2.3物理光照中的能量守恒

由于物理光照中存在所有的折射、散射及反射的出射光强不能大于入射光的能量守恒原理,故文献[11]提出镜面反射与漫反射散射的和不能超过1,即漫反射散射Lrd和高光Lrs之间存在如式(20)的能量守恒,且漫反射项由多重散射及单次散射组成,如式(21),故利用物体反射项与散射项之间相互排斥的关系,用Fresnel函数(反射折射比率函数)中的光线与物体表面法线夹角接近0时的反射系数f0,f0代表物体中高光反射项的比例,提出式(22),以达到能量守恒。

(20)

(21)

(22)

3 实验结果与分析

在配置为CPU为Intelcorei7 5300,内存8GB,显卡为NVIDIAGeForceGTX850的计算机上进行渲染实验,使用Unity3D5.0版本作为渲染工具,Shader语言为CG。实验用例为桂林鸡血玉半透明高光雕件经图像三维重建后的数字化模型。

3.1渲染结果分析

第一组实验对象为一尊天然的半透明桂林鸡血玉石随形就色精心雕刻的作品“天女散花”,经图像重建后得到的三维几何模型,利用本方法进行渲染实验,如图6所示。其中,图6(a)为实物拍摄图像,图6(b)为图像三维重建后未经渲染的三维模型,图6(c)为加入高光的渲染结果,图6(d)为综合高光、散射、透射的渲染结果。从实验结果可见,由于添加散射项实现非均匀玉石次表面散射效果,并利用透射项在较薄处实现光的透射,最终的绘制效果具备了半透明高光玉石类材质中光泽感与透明感,整体效果比初始的重建模型好。图6(e)展示了用本方法合成渲染后各个不同角度的材质表现。最后合成渲染结果图6(d)与原始模型图6(b)比较,可以发现本方法可以很好模拟出半透明材质的真实感表现,与实物二维图像6(a)对比,本方法具有较高的视觉逼真度。

图6 本方法渲染结果Fig.6 Rendering results of the proposed method

3.2实验结果对比分析

使用桂林鸡血玉精品“天马行空”作为第二组实验对象,采用本方法和Penner方法进行实验对比,结果如图7所示。

本方法主要基于Penner提出的Pre-IntegratedSkin方法,针对半透明模型具有的散射、透射、高光特点,改进预积分的散射剖面,并在此基础上添加物理光学特性匹配的高光、散射光照层。从图7可看出,在Penner的预积分散射剖面的方法上,加入厚度贴图实现基于不同厚度的散射表现,并针对较薄区域加入了透射光的作用。对Penner方法较为“干涩”的高光表现,采用了更适合非均匀玉石的微平面高光反射,改进后从视觉表现上更接近原物体的真实感光感表现。

3.3渲染效果分析

表1为不同模型片面数的渲染帧速率。一般而言,12帧每秒为人眼可延时达到实时交互的最低帧速率,而如表1中本方法渲染帧速率,当模型片面数达到160万(极高精度模型)时,其渲染帧率为35帧每秒,是人眼实时最低帧速率的3倍。所以实验方法保证了实时绘制的需要。综合图6实验可得,本方法可实现半透明重建模型表面光泽的真实感渲染,并具备实时渲染效果。

图7 本方法与Penner方法对比Fig.7 Comparison of Penner method and the proposed method

表1 不同模型片面数的渲染帧速率

4 结束语

在实现半透明高光物体图像三维重建后的真实感光感实时渲染问题上,提出利用高光、散射光照模型线性叠加模拟其高光及半透明表现。实验结果表明,该方法能较为真实地模拟半透明物体的光泽表现,并在模型数据量较大的情况下,可以保证实时渲染效果。但由于物体的散射剖面差异性较大,本方法仅仅直观估计不同物体的散射剖面,并非基于精确测量数据得到的,在物理真实感方面仍有欠缺,且该方法对散射透射不规则的复杂物体在光泽实现上,需要人工调整厚度贴图才能完成,智能性不够。未来需进一步优化和改进,使之适用于更复杂的半透明物体,并减少人工参与。

[1]JENSENHW,MARSCHNERSR,LEVOYM,etal.Apracticalmodelforsubsurfacelighttransport[C]//Proceedingsofthe28thAnnualConferenceonComputerGraphicsandInteractiveTechniques.NewYork:ACM,2001:511-518.

[2]DONNERC,JENSENHW.Lightdiffusioninmulti-layeredtranslucentmaterials[J].ACMTransactionsonGraphics,2005,24(3):1032-1039.

[3]MUNOZA,ECHEVARRIAJI,SERONFJ,etal.BSSRDFestimationfromsingleimages[J].ComputerGraphicsForum,2011,30(2):455-464.

[4]JIMENEZJ,SCULLYT,BARBOSAN,etal.Apracticalappearancemodelfordynamicfacialcolor[J].ACMTransactionsonGraphics,2010,29(6):141-151.

[5]GREENS.GPUGems[M].Boston:Addison-WesleyPress,2004:263-278.

[6]D’EONE,LUEBKED.GPUGems3 [M].Boston:Addison-WesleyPress,2007:293-347.

[7]PENNERE,BORSHUKOVG.Pre-integratedskinshading[J].GpuPro2,2011,2:41-54.

[8]BURLEYUB,STUDIOSWDA.Physically-basedshadingatdisney[C]//ACMSIGGRAPH.2012:2012SpecialInterestGroupforComputerGRAPHICS.NewYork:ACM,2012:1-7.

[9]DACHSBACHERC,STAMMINGERM.Translucentshadowmaps[C]//Proceedingsofthe14thEurographicsWorkshoponRendering.Leuven:EurographicsAssociation,2003:197-201.

[10]JIMENEZJ,WHELAND,SUNDSTEDTV,etal.Real-timerealisticskintranslucency[J].IEEEComputerGraphicsandApplications,2010,30(4):32-41.

[11]HOFFMANN.Background:physicsandmathofshading[J].PhysicallyBasedShadinginTheoryandPractice,2013,24(3):211-223.

编辑:梁王欢

A realistic real-time rendering method for inhomogeneous jade

WEN Peizhi1,2, ZHU Likun1,2, HUANG Jia1,2

(1.School of Computer and Information Security, Guilin University of Electronics Technology, Guilin 541004, China;2.Key Laboratory of Intelligent Processing of Computer Image and Graphics,Guilin University of Electronics Technology, Guilin 541004, China)

Aiming at the problem that realistic render of the translucent jade model, a superposition light mode is proposed by combining high light with diffuse light. Based on diffuse profile, the method is used to simulate multiple scattering for inhomogeneous jade. Meanwhile, light transmission effect based on the surface thickness is realized by combining pre-computed local thickness maps with Gaussian blur. And specular reflection items based on micro-plane are superimposed on the basis of energy conservation, so as to simulate a realistic material performance. Experimental results show that the proposed method can achieve photorealistic rendering of different kinds of inhomogeneous jade, and ensure the real-time efficiency under more triangular patches.

inhomogeneous material; multiple scattering; diffuse profile; illumination model

2016-01-22

广西科学研究与技术开发计划(桂科攻1598010-7);广西高校图像图形智能处理重点实验室基金(LD15043X);桂林电子科技大学研究生教育创新计划(GDYCSZ201418)

温佩芝(1963-),女,广西灵山人,教授,博士,研究方向为数字图像处理、目标检测与模式识别。E-mail: wpzsia@163.com

TP391.41

A

1673-808X(2016)04-0321-08

引文格式:温佩芝,朱立坤,黄佳.非均匀玉石真实感实时渲染方法[J].桂林电子科技大学学报,2016,36(4):321-328.

猜你喜欢
半透明高光玉石
月球上的半透明玻璃珠
那头,此岸
想做联名爆款?超级飞侠、熊出没、奥特曼等“高光”IP等你来聊
湿化学法合成Ba(Mg(1-x)/3ZrxTa2(1-x)/3)O3纳米粉体及半透明陶瓷的制备
点赞首届丝绸之路玉石文化产业博览会
季后赛高光时刻乔尔·恩比德没有遗憾
半透明三维物体表面光泽真实感实时渲染方法
释放出来自HDR的高光力量 Optoma奥图码UHZ880
基于Moldflow 的高光无痕电视前壳注射模具设计
审人之美