一种基于光线追踪器的薄膜干涉效果绘制方法

文档序号:6623160阅读:498来源:国知局
一种基于光线追踪器的薄膜干涉效果绘制方法
【专利摘要】一种基于光线追踪器的薄膜干涉效果绘制方法,应用多光束干涉方程求解多层薄膜混合反射比和透射比,其中单层薄膜表面反射系数和透射系数由菲涅尔公式决定,在薄膜内部的折射角遵从斯涅尔定律;考虑一些薄膜表面因粗糙性产生反射或透射光分布的不规则性,引入粗糙表面散射系数,修正薄膜反射或透射比,模拟彩色高光、各向异性等复杂的光学效果;基于光线追踪器成像机理,构造物理光学与几何光学之间的联系纽带,并生成完整的散射公式。本发明有效提升了现有光线追踪器绘制波动效果的能力;也可继续以插件的形式集成入经典的3D建模软件Maya中,使用户直接通过建模软件,获取所需要的彩色波动效果,进一步提高了以Maya为代表的建模软件的绘制能力,具有很高的应用价值。
【专利说明】一种基于光线追踪器的薄膜干涉效果绘制方法

【技术领域】
[0001]本发明涉及一种基于光线追踪器的薄膜干涉效果绘制方法,能够在基于几何光学的光线追踪器中应用波动理论绘制单层或多层薄膜干涉效果,属于计算机图形学成像真实感绘制领域。

【背景技术】
[0002]成像真实感绘制(Photorealistic Rendering)是现有的建模软件如Maya、3DMax等的主流绘制技术,不同与非真实感绘制技术,它基于经典物理方程,涉及光与对象交互作用的物理仿真,能逼真地模拟场景信息。现有的真实感绘制技术大都基于光线追踪器,利用光线追踪原理模拟光在空间场景中的传播过程;通过获取对象材质属性,计算光在对象表面的反射比或透射比,之后递归追踪光线,最终获取每条光线对成像平面的光谱贡献值,生成类似相片级真实感的图像。
[0003]在光线追踪器中,为了进行成像真实感绘制,大量的反射模型被构造出来以逼真地模拟光与对象表面材质的交互行为。如Torrance和Sparrow于1967年提出了描述金属表面反射的微表面反射模型(Torrance, K.E, Sparrow, Ε.Μ, 1967.Theory ofoff-specular reflect1n from roughened surfaces, Journal of the Optical Societyof America, 57 (9),1105-1112.),这一模型被Blinn于1977年引入图形学中并获得广泛应用(Blinn, J.F, 1977.Models of light reflect1n for computer synthesizedpictures, Proceedings of Computer Graphics, Annual Conference Series, ACMSIGGRAPH, 11(2),192-198.)。Phong于1975年系统总结了若干着色技术和隐藏表面删除方法,提出了面向光泽表面的几何光学反射模型(Phong, B.T.,1975.1lluminat1n forcomputer generated pictures, Communicat1ns of the ACM, 18(6),311-317.)。Oren 和Nayar于1994年构造出了 Oren-Nayar模型,将表面看成对称的V型槽微表面元素集,并假设每一个单独的微表面槽都展现完美的朗伯分布。Ashikhmin全面分析了对象表面粗糙几何结构对光反射行为的影响,提出了一种基于物理的反射分布函数以描述各向异性的光学现象(Ashikhmin, M, Shirley, P, 2000.An anisotropic Phone BRDF model, Journal ofGraphics Tools, 5 (I), 25-32)。Pharr等人在PBRT追踪器中系统总结了可用于物理渲染过程的各种反射建模技术(Pharr, M, Humphreys, G, 2010.Physically Based Rendering FromTheory to Implementat1n, 2th Edit1n, Morgan Kaufmann, San Francisc0.)。
[0004]这些反射模型主要基于几何光学理论,在该理论中光被视作光线的集合。常见的几何光学现象如漫反射、镜面高光、折射等都可通过这些已有模型精确地模拟其作用效果。几何光学建模技术的优势在于使光与物体表面的交互更易控制,而不用考虑如相位等复杂波动效应,直接提高了计算效率,也使得基于几何光学的光线渲染器能通过选择一些控制参数,渲染反射、折射等不同现象,且真实感较强。然而光是一种带有幅值与相位的电磁波,由于几何光学缺少对波的相位等信息的有效描述,使得光线追踪器很难绘制衍射、干涉等波动现象。
[0005]为了解决光线追踪器中波动效果绘制的问题,许多基于波动光学理论的经典技术已经被开发了出来,其中波动双向散射分布函数(BSDF)被用于逼真地模拟光在表面的反射行为。如Moravec使用光的波动理论求解全局光照问题,并基于相位追踪技术将波动模型应用于图形学中进行光学效果绘制(Moravec, H.P, 1981.3D graphics and thewave theory,Proceedings of Computer Graphics, Annual Conference Series, ACMSIGGRAPH, 15(3),289-296.)。Kajiya开发了一个双向反射分布函数通过数值方法求解基尔霍夫积分式来模拟各向异性的光谱反射(Kajiya, J.T.,1985.Anisotropic reflect1nmodels,Proceedings of Computer Graphics, Annual Conference Series, ACMSIGGRAPH, 19,15-21)。之后,借助傅里叶光学原理和高度场模型,Stam实现了一个衍射着色器可以直接渲染周期性微观结构的光学效果,其中光源和观察者之间的距离被设为无穷远(Stam, J, 1999.Diffract1n shaders, Proceedings of Computer Graphics, AnnualConference Series, ACM SIGGRAPH, 101-110.)。他通过数值求解基尔霍夫积分式提高了计算效率,能近似的封装相位信息到反射辐射能中,获取特定光源下的光盘波动效果,但不绘制材质的衍射效果。
[0006]上述解决方法都是基于对象表面构建波动反射模型以绘制衍射效果的,但它们仅仅是波动光学效果绘制领域的一部分,由于以上的模型不能封装相位信息到透射辐射能中,所以不能有效绘制另一代表现象即薄膜干涉。在光线追踪器中对薄膜干涉效果的绘制需要新的理论和方法。
[0007]作为自然界波动光学效果的经典代表,薄膜干涉效果在图形学中也被大量的研究。构建精确的干涉模型模拟光与多层薄膜结构的交互行为以可视化涂有多层薄膜对象如肥皂泡、光学透镜、光学滤波器、甲虫和蝴蝶等的彩色外貌是一个很有意义但也有挑战性的研究课题。多个模型已经被开发了出来以绘制被这些多层薄膜结构生成的彩色效果。例如,Gondek等人使用一个基于波长的双向反射比分布函数和一个虚拟角镜分光光度计分析并生成薄膜和珍珠材质的反射光谱值(Gondek, J.S.,Meyer, G.ff.,Newman, J.G.,1994.Wavelength dependent reflectance funct1ns, Proceedings of ComputerGraphics, Annual Conference Series, ACM SIGGRAPH, 213-219.)。Hirayama 等人构造了一系列多层绝缘体或金属薄膜模型以可视化更丰富的干涉效果(Hirayama,H., Kaneda,K.,Yamashitaj H.,Mondenj Y.,Yamajij Y.,1999.Visualizat1n of optical phenomenacaused by multilayer films with complex refractive indices, Proceedings of the7th Pacific Conference on Computer Graphics and Applicat1n,128-137.) 0Sun米用分析计算和数值仿真方法也提出了一个彩色着色过程可以在光线追踪器中绘制生物体的彩色(Sun, Y., 2006.Rendering b1logical iridescences with rgb-based renderers,ACMTransact1ns on Graphics,25 (I),100-129.)。这些方法能近似地描述薄膜的波动属性,但很少考虑粗糙表面的微观结构或几何特性,不能模拟各向异性的彩色波动现象,并且用于金属材质的传统薄膜计算方法存在高的计算代价。除此之外,周期性有限差分时域(FDTD)方法广泛地被应用于薄膜干涉效果的分析中。例如,Plattner应用H3TD方法系统研究了薄膜干涉的生成,该模型是一个含有有限周期性的二维结构(Plattner,L.,2004.0ptical properties of the scales of Morpho rhetenor butterflies:theoreticaland experimental investigat1n of the back-scattering of light in thevisible spectrum, Journal of the Royal Society Interface, I (I),49-59.)。之后,Banerjee等人也使用了一个修改的FDTD方法研究由多层薄膜结构构成的二维大闪蝶模M (Banerjee, S., Cole, J.B., Yatagai, T., 2007.Colour characterizat1n of a Morphobutterfly wing—scale using a high accuracy nonstandard finite-differencetime-domain method, Micron, 38 (2),97-103.)。FDTD方法通过数值求解麦克斯韦方程可以获取较真实的反射光谱,但它依赖于一个很好定义的数值网格且精确受限,也没有精确考虑薄膜表面粗糙度和各向异性特性。
[0008]因此,以多层薄膜模型为基础,融入薄膜粗糙表面的几何结构,构建精确的薄膜干涉模型并将其应用于Maya等建模软件中是本发明的主要贡献,其应用价值也是巨大的。


【发明内容】

[0009]为了克服光线追踪器波动效果绘制难的问题,本发明提出了一种基于光线追踪的多层薄膜干涉效果绘制方法,将物理光学理论与光线追踪技术相结合,有效提升了现有光线追踪器(如PBRT)绘制波动效果的能力;也可通过将本发明继续以插件的形式集成入经典的3D建模软件Maya中,使用户可以直接通过建模软件,构建任意所需要的场景并进行光谱渲染,获取所需要的彩色波动效果,这进一步提高了以Maya为代表的建模软件的绘制能力,具有很高的应用价值。
[0010]本发明的技术方案如下:一种基于光线追踪器的薄膜干涉效果绘制方法,包括以下步骤:
[0011](I)根据光学和电子显微镜测量结果,预先设计好多层或单层薄膜结构的数据信息,所述数据信息包括薄膜折射度、薄膜厚度和薄膜层数;构建可被光线追踪器PBRT识别的场景描述文件;
[0012](2)通过渲染引擎加载薄膜结构的数据信息,并通过文件分析功能解析场景描述文件,生成场景及渲染器类实例;渲染器控制相机利用光线追踪器内置的采样器遍历相机胶平面上的采样点,并将每一个采样点转换为从胶平面进入场景的光线;
[0013](3)依次对生成的光线进行逆向递归追踪,开启主渲染循环,计算光线与场景物体的第一个交点即不被其它物体所遮挡的点,并调用对象材质的GetBSDFO方法,取得对象相应材质的双向散射分布函数,获取描述光在表面反射或透射的光谱分布值;
[0014](4)光线追踪器内置的表面积分器利用已构造的薄膜干涉材质,获取光线与具有多层薄膜结构的干涉对象交点处的反射或透射辐射能,其中,透射方向均遵从斯涅尔定律;渲染器将采样点及相应的辐射能一并传给胶平面,它将光能值存储在待生成的图像上;
[0015](5)重复步骤(3)、(4),直到渲染器遍历了所有采样点生成最终图像为止,循环结束。
[0016]所述步骤(3)中的GetBSDFO方法取得对象相应材质的双向散射分布函数具有如下形式:BSDF1 WJSfmkm其中 Idlffuse 和 Iartlent 分别表示由于表面无规则性而导致的环境散射和漫散射光谱值,G(?。,Coi)表示一个几何衰减项,ω。表不光输出方向,Oi表不光入射方向,Dfaeet表不粗糙表面散射系数,Ffresnel由多光束干涉方程决定,ca、cb和C。三项参数用于对各反射光谱项进行加权设置,它们的值由物体表面结构和粗糙度决定,Θ。表光输出方向与表面法线的夹角,9 i表不光入射方向与表面法线的夹角。
[0017]当薄膜为不透明材质时,Ffresnel= Rfresnel ;当薄膜为透明材质时,
[Rnvmt^ Reflected direct1n_
Pfrrsad =I,其中Fftesnel表不多光束干涉因子,Rfresnel为多层薄
I7}**/? TrmmmUed direct1n
膜结构反射比,Tfresnel为多层薄膜结构透射比。
[0018]根据薄膜粗糙表面的实验观察,若随着观察角度的偏离,反射或透射的光谱能量成指数级衰减,则可用Phong镜面指数进行近似,即Dfaeet= (?h*n)e,其中《,表示入射光方向,表面法线为η和指数e控制粗糙程度;若薄膜表面在日光照射下产生各向异性的干涉效果,可应用Ashikhmin着色器进行近似,即D1mvi = +2)(e:.+ 2)(崎,其

''2m
中ex和ey分别表示沿X轴和Y轴控制表面粗糙程度的指数,Φ表示光反射方向在χ-y平面上的投影与X轴的夹角。。
[0019]一种基于光线追踪器的薄膜干涉效果绘制方法,它可直接集成入Maya建模软件并进行波动光学效果绘制,其具体步骤如下:
[0020](I)首先借助Maya优越的建模功能,构建预先设计好的三维场景,该场景由对象和光源组成;
[0021](2)在Maya软件中构造多层薄膜材质插件,并添加到Maya材质库中;
[0022](3)获取(I)步骤中需要显示波动效果的场景对象,从Maya材质库中选取本发明的多层薄膜材质,并设置为该对象的材质属性;
[0023](4)在Maya中直接调用权利要求1步骤2所述的渲染引擎,进行干涉场景的绘制;
[0024](5)设置不同的薄膜参数取值,重复操作(2)、(3)、⑷绘制不同的干涉光学效果。
[0025]本发明的优点和积极效果:
[0026]本发明弥补了现有光线追踪器(如PBRT)无法绘制波动效果的不足,通过应用多光束干涉原理和几何表面散射系数构造波动多层薄膜干涉模型,对几何光线追踪器进行了改进。改进后的光线追踪器充分考虑了光的相位属性,能够有效地模拟以干涉为代表的波动现象。除此之外,本发明继续以插件的形式集成入经典的3D建模软件Maya中,使用户可以直接通过建模软件,构建任意所需要的场景并进行光谱渲染,获取所需要的彩色波动效果。这进一步提高了以Maya为代表的软件的绘制能力,拓展了其应用范围。

【专利附图】

【附图说明】
[0027]图1是本发明方法实现流程图;
[0028]图2是采用本发明的方法进行多层薄膜干涉模拟的几何结构示意图;
[0029]图3是本发明方法在涂有绝缘体薄膜的金薄膜材质(左)和铜薄膜材质球上绘制的结果,其中绝缘体薄膜折射度被设为1.5 ;
[0030]图4是金和铜的吸收系数(实线)和折射度(虚线)与波长关系示意图;
[0031]图5是本发明的方法在由涂有600nm绝缘体薄膜的玻璃材质(左)和镜面材质(右)构成的球上绘制的干涉示意图;
[0032]图6是本发明的方法在涂有不同厚度的单层绝缘体薄膜的球上绘制的干涉结果,其中薄膜表面的粗糙几何结构不被考虑;
[0033]图7是本发明考虑薄膜表面粗糙几何结构,绘制的各向同性和各向异性干涉效果示意图。

【具体实施方式】
[0034]基于多光束干涉方程的多层薄膜干涉效果绘制方法,如图1所示,包括以下步骤:
[0035]一、首先获取待绘制的物体样本,并利用光学和电子显微镜分别观察物体表面和剖面结构,如果物体表层包含大量由多层薄膜组成的树形结构,则它在光照下会显示彩色效果,可以应用本发明的干涉方法继续以下的实验步骤,反之所选的物体样本不符,退出实验。然后根据光学和电子显微镜对所选物体的实际测量结果,预先设计好多层(或单层)薄膜结构的数据信息(包括薄膜种类、各层薄膜折射度、厚度和薄膜层数等),根据可被光线追踪器PBRT识别的场景描述文件格式说明书要求,构建含有多层薄膜材质的场景描述文件;
[0036]二、开启光线追踪器,它会通过文件分析功能解析新构建的含有多层薄膜材质的场景描述文件,生成场景及渲染器类实例,其中场景类中会包含预先设计好的多层(或单层)薄膜结构的数据信息,渲染器类负责实现场景的整个绘制过程,该过程也是光线追踪器的核心并占据着整个运行时间的大部分。具体而言,渲染器控制光线追踪器内置的虚拟相机,利用采样器遍历相机胶平面上的采样点,并将每一点转换为从胶平面进入场景的光线,并开启主渲染循环;
[0037]三、渲染器调用光线追踪器内置的表面积分器对生成的光线进行逆向递归追踪,获取光线的辐射光谱值,其具体计算过程如下:首先计算光线与场景的第一个交点(不被其它物体所遮挡)及在该点处的光入射方向,并获取交点所属的物体,如果没有交点,则光线递归追踪过程提前结束。然后,将光和物体的交点及光入射方向以参数形式传递给物体后,物体会调用它的材质属性,通过材质的GetBSDFO方法,计算光在该交点的输出方向,并利用材质的双向散射分布函数,获取输出方向的光与入射光的反射(或透射)比值,之后表面积分器从光输出方向继续递归追踪光线,直到达到光线追踪器设置的递归追踪次数为止,由于场景光源信息已知,每条光线的辐射光谱值即可被计算;
[0038]四、当场景中包含具有多层薄膜材质的物体时,渲染器利用光线递归追踪过程,SP可计算出光与多层薄膜物体的交点,并调用本发明已构造的薄膜材质干涉函数,获取光线在物体表面发生干涉后的反射或透射辐射比,其中,透射方向均遵从斯涅尔定律。光线追踪过程结束后,渲染器将采样点及相应的辐射能一并传给相机胶平面,胶平面再将光能值存储在待生成的图像上;
[0039]五、重复步骤三、步骤四,直到渲染器遍历了从相机胶平面所有的采样点发出的光线并且胶平面生成最终图像为止,循环结束,其中,光与多层薄膜物体发生的干涉效果会通过光谱能量的变化显示在图像中。
[0040]所述的GetBSDFO方法获取的多层薄膜干涉模型双向散射分布函数具有如下计


Df Fr iG((o ’(O)
算产生式:BSD F』—diffme + ^Qmhimt ^',其中和分别表示由于表面无规则性而导致的环境散射和漫散射光谱值,G(?。,Coi)表示一个几何衰减项,Dfacet表示粗糙表面散射系数,Ffresnel由多光束干涉方程决定,ca、cb和C。三项参数用于对各反射光谱项进行加权设置。
[0041]上述的波动双向散射分布函数是发明人通过对波动光学理论和光线追踪器深入学习后研究设计出来的,以下将详细描述多层薄膜干涉因子Ftosml和粗糙表面几何结构散射系数Dfaret是如何被设计的。
[0042]引入的多层薄膜干涉因子Fftesml的具体计算方法:
[0043]当光与薄膜交互时,即有从薄膜表面直接反射到视点的光,也有经过薄膜表面折射,在底层表面多次反射再折射到视点的光。在一玻璃片的光滑表面上涂镀一层折射率和厚度都均匀的透明介质薄膜,当光束入射到薄膜上时,将在薄膜内产生多次反射,并且从薄膜的两表面有一系列的互相平行的光束射出,这些光束会相互叠加形成干涉。若点光源是单色光,则到达视点的光是相干的,结果在反射成像平面上会显示一组同心圆环状亮暗条纹。当点光源是白光时,会看到一组彩色条纹。为了精确地计算多层薄膜在反射光方向和透射光方向产生的干涉,必须考虑多光束效应。
[0044]首先选择一个双层薄膜结构作为研究对象,利用多光束干涉方程计算多层薄膜混合反射比和透射比。如图2所示。设薄膜的厚度为H,折射度为Ii1,薄膜两边的空气和基片的折射率分别为%和n2。并设光从空气进入薄膜时在界面上的反射系数和透射系数分别为A和h,而从薄膜进入空气时反射系数和透射系数分别为r/和t/,光从薄膜进入基片时在界面上的反射系数和透射系数分别为r2和t2。
[0045]假设照射到薄膜表面的入射光为单位幅值的单色光,则从薄膜表面反射的光的累加值:
[0046]r = E'lr) + E2in + £/" + E4ir) +■■■(LI)
[0047]式(1.1)中,从薄膜表面反射的光E的分析性数值表达式具体地被表不为:

= r
[0048]E:n =ZlZlACr1Ajei2i(1.2)
[0049]据此,当所计算的反射光叠加数量趋于无穷时,可获得混合反射比的近似值,即:
[0050]r = + Tf,/;/1, (/j」——(1.3》
,Ti — —1 +
[0051]同理,单层薄膜透射比近似为:
[0052]t?τ?》..(1.4)
[0053]式(1.3)和(1.4)中,δ是相继两光束光程差所引起的位相差,其表达式为6 = ^nIIm%0, Θ是光束入射在薄膜内部的折射角。
[0054]对于两层以上的M层薄膜系统,需要釆迭代方法自底向上,分别求解多层薄膜混合反射和透射比。如对第M-1层薄膜,根据多光束干涉方程,其反射系数和透射系数被定义为:
-r + /*:
[0055]『腦=^--(I.5》


rn e'hl-'.?f f P感胸
[0056]tM-1.= —iL1-H-—

I + rx1 , Fm eMtM
[0057]式(1.5)和(1.6)中,Sam=~t-ww...Aw...1cos0W 而 |^和??分别表不根据多光束
λMM
方程计算的第M层薄膜的反射比,重复方程(1.5)和(1.6),直到多层薄膜系统的最上一层。
[0058]由于现在的光线追踪器是基于几何光学理论的,无法模拟与干涉等波动效果密切相关的光相位信息,此迭代计算过程作为物理光学理论中的经典算法是发明人进行波动光学绘制的物理基础。与此同时,为了求解多层薄膜结构的混合反射比和透射比,计算每一单层薄膜的反射比r和透射比t是非常必要的,在这里面向绝缘体和金属的菲涅尔公式被应用于计算反射或透射光量。对s波和P波,已知的菲涅尔公式被近似为:
— η, Cod1-η, Codt
Γ —

η( CosBl +,JiCmOi
—ηξ cosB.■■ ηs Cosffl
ρ n cosd +τι cosfi
[0059]^ Λ(1-7)

2;;-cosft-
言? ?I
s τι cos Oi jT η, cos θ,
重 _ 2ηt CosOt
ρ IjiCose, + η, CosOj
[0060]式(1.7)中,rjPts表示对s偏振光的菲涅尔系数,r^Ptp表示对ρ偏振光的菲涅尔系数,透射角9t满足斯涅尔公式,η 1表示入射薄膜折射度,η t表示透射薄膜折射度
(各层薄膜可能不同),若折射度为复数,则表示金属薄膜,若折射度为实数,则表示绝缘体薄膜。
[0061]上面的物理方法为在光线追踪器中绘制波动效果提供了坚实的基础。但光具有偏振特性,现有的光线追踪器无法解释光的偏振态。因此在求解多层薄膜菲涅尔反射率或透射率(即对象表面反射或透射光能)时,菲涅尔反射率和透射率被视作相对s波和ρ波反射和透射系数的平方的均值。因此,对M层薄膜结构,反射率被定义为:

I _ 2 — 2
[0062]Rfresml = ρ +Γ?)C1-8)
[0063]相应的透射率被定义为:
_4] Tfm:- = \(t.“V、(1.9)
[0065]式(1.8) (1.8)和(1.9)中,;和,是基于方程(1.5)和(1.6)所计算的混合反射比和透射比。当薄膜基底为不透明材质时,Ftosnel = Rtosnel ;当基底为透明材质时,[R {-r%m4, Reflected direct1nFfmmel [?>— Tmmmitted direct1n °
[0066]引入的表面几何结构散射系数Dfarat计算方法:
[0067]在涂有多层薄膜的对象表面上经常会显示一定的粗糙性,它会使干涉效果显示出如镜面高光、各项异性等的复杂现象,最典型的例子就是生物界中大闪蝶的翅膀彩色,这种彩色现象不能简单地使用多光束干涉原理进行解释,它是表面结构几何无规则性与多层薄膜干涉共同作用的结果,即散射、衍射、干涉共同影响表面最终的光的行为。许多的基于几何光学的BRDF模型已经被开发了出来,它们将表面看作完美平滑的镜面微面元集合,光受粗糙表面元之间的相互阻挡、遮蔽及自反射等引起的空间不均匀分布可以采用概论函数统计性地模拟。然而光的波动特性很少被考虑的,不能可视化多层薄膜的彩色现象。
[0068]为解决粗糙性和彩色绘制的问题,发明人在已构造的基于多层薄膜干涉模型的双向散射分布函数基础上,将微表面散射因子融入于波动BSDF光照方程中以精确地描述局部光照行为,其中由多层薄膜生成的干涉和表面无规则几何结构产成的散射被统一于相同框架中进行渲染。
[0069]根据薄膜粗糙表面的实验观察,若随着观察角度的偏离,反射或透射的光谱能量成指数级衰减,则可用Phong镜面指数进行近似,即Dfaeet= (?h*n)%其中coh表示入射光方向,表面法线为n,指数e控制粗糙程度。若薄膜表面在日光照射下产生各向异性的干涉效果,可应用Ashikhmin着色器进行近似,即D = P^7){ey+1) (COh.nf—#*,其中

2π1
^和ey分别表示沿X轴和y轴控制表面粗糙程度的指数,Φ表示光反射方向在x-y平面上的投影与X轴的夹角。
[0070]本发明除了在光线追踪器中应用多层薄膜干涉模型实现干涉效果之外,还进一步扩展了其应用范围。具体如下:
[0071]在计算机图形学中,大部分场景因其对象的多样性,组成结构的复杂性,往往首先需要借助建模软件如Maya、3DMax和Blender等利用它们强大的建模能力进行构建,然后调用建模软件各自的渲染器进行场景绘制。
[0072]与此同时,尽管本发明的模型可以以插件的形式集成入光线追踪器进行简单场景的绘制,但设置场景和绘制场景是两个分离的步骤,降低了程序运行效率和用户操作便捷性。当前以3Dmax和Maya为代表的建模软件获得了广泛的应用,使用户能方便地设计和操作场景,大大增加了用户体验。本发明以Maya建模软件为实验工具,借助它的强大的建模能力构造复杂的几何场景,并将实现波动模型的光线追踪器再次集成到Maya软件中。由于所设计的波动模型已通过插件的形式被写入到追踪器中,所以可以构建完几何模型后,直接在Maya中绘制,获取所设计场景的特定对象的波动光学效果,这类似于向Maya中新添加了一个光线追踪器。
[0073]表1:多层薄膜结构绘制实验参数指标
[0074]
—I薄膜(厚度:nm,折射度)
图2空气(⑴,1.0),绝缘体薄膜I (500,2.0),金属(金和铜)基底(100,1.5)_
面4|空气(⑴,L O),绝缘体薄膜2 (600,2.0),不透明基底(吣,1.5)
面 5|空气(^,1.0),绝缘体薄膜 3(300/500/700,2.0),透明基底(100,1.5)
面6|空气(⑴,1.0),绝缘体薄膜4 (500,2.0),不透明基底(吣,1.5)
[0075]
[0076]需要绘制的场景对象:涂有单层或多层薄膜的对象,其中薄膜结构参数如表I所
/Jn ο
[0077]第一步、在Maya建模软件中构建三维场景,并读取表I的薄膜结构的数据信息(包括薄膜折射度、厚度等)以配置需要显示干涉效果的对象的材质属性。
[0078]第二步、在Maya中通过插件直接运行光线追踪器,开启主渲染循环。依次对生成的光线进行逆向递归追踪,并计算光线与薄膜对象的第一个交点(不被其它物体所遮挡),调用薄膜材质的GetBSDFO方法,取得对象相应材质的双向散射分布函数,根据公式
BSDF| — ^ciimtse ' ^ b ^ambient
+—L__ — 计算光在表面散射(反射或透射)的光谱
-4 cos cosy(.分布值。
[0079]第三步、光线追踪器获取光线与物体交点处的反射或透射辐射能后,继续递归追踪光线,最终会将采样点及相应的辐射能一并传给胶平面,胶平面将光能值存储在待生成的图像上。直到提供了尽可能多的样本生成最终图像为止,循环结束。
[0080]图3显示了使用本发明构造的薄膜模型所模拟的干涉效果,其中菲涅尔公式中的薄膜折射度为复数,由于金属薄膜的特性,光透过金属薄膜(金和铜)时会被完全吸收。需要特别注意的是,金属的导体折射度和吸收系数会随着波长改变而改变,图4显示了波长敏感的金和铜材质的折射度与吸收系数的变化曲线。当薄膜基底是透明介质时,光会透过对象进行传播,此时薄膜干涉效果会显示对象背面的光照信息如图5所示,其中图5左边薄膜球产生的干涉现象会进一步映射在右边的镜面材质球上。在图6中,本发明所设计的模型被进一步用于绘制全局光照下涂有不同薄膜厚度的不透明基底对象的彩色图案。基底和绝缘体的折射度分别被设为1.5和1.25。由于薄膜表面存有一定的粗糙性,会导致各向同性或各向异性现象的产生。因此图7显示涂有500nm绝缘体薄膜的不透明球各向同性与各向异性干涉绘制结果。本发明通过设置相应的参数可以解释表面粗糙度产生的各向同性或各向异性对对象彩色光学外观的影响。另外,本发明的多层薄膜干涉模型可以直接被用于绘制生物体表面的彩色现象如产于美洲的大闪蝶翅膀表面的彩蓝色。
[0081]提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
【权利要求】
1.一种基于光线追踪器的薄膜干涉效果绘制方法,其特征在于包括以下步骤: (1)根据光学和电子显微镜测量结果,预先设计好多层或单层薄膜结构的数据信息,所述数据信息包括薄膜折射度、薄膜厚度和薄膜层数;构建可被光线追踪器PBRT识别的场景描述文件; (2)通过渲染引擎加载薄膜结构的数据信息,并通过文件分析功能解析场景描述文件,生成场景及渲染器类实例;渲染器控制相机利用光线追踪器内置的采样器遍历相机胶平面上的采样点,并将每一个采样点转换为从胶平面进入场景的光线; (3)依次对生成的光线进行逆向递归追踪,开启主渲染循环,计算光线与场景物体的第一个交点即不被其它物体所遮挡的点,并调用对象材质的GetBSDFO方法,取得对象相应材质的双向散射分布函数,获取描述光在表面反射或透射的光谱分布值; (4)光线追踪器内置的表面积分器利用已构造的薄膜干涉材质,获取光线与具有多层薄膜结构的干涉对象交点处的反射或透射辐射能,其中,透射方向均遵从斯涅尔定律;渲染器将采样点及相应的辐射能一并传给胶平面,它将光能值存储在待生成的图像上; (5)重复步骤(3)、(4),直到渲染器遍历了所有采样点生成最终图像为止,循环结束。
2.如权利要求1所述的基于光线追踪器的薄膜干涉效果绘制方法,其特征在于:所述步骤(3)中的GetBSDFO方法取得对象相应材质的双向散射分布函数具有如下形式:bsdf^=cJ-緣+ce* 其中idiffuse 和Uient 分别表示由于表面无规则性而导致的环境散射和漫散射光谱值,6(ω。,ω j)表不一个几何衰减项,Otl表不光输出方向,Oi表不光入射方向,Dfaeet表不粗糙表面散射系数,Ffresnel由多光束干涉方程决定,ca、cb和Cc三项参数用于对各反射光谱项进行加权设置,它们的值由物体表面结构和粗糙度决定,Θ。表光输出方向与表面法线的夹角,Θ i表不光入射方向与表面法线的夹角。
3.如权利要求2所述的基于光线追踪器的薄膜干涉效果绘制方法,其特征在于:当薄膜为不透明材质时,Ffresnel = Rfresnel ;当薄膜为透明材质时,
I jf?fjy] //i VPf'l I其中U表示多光束干涉因子,u多层薄膜结构反射比,Tfresnel为多层薄膜结构透射比。
4.如权利要求2所述的基于光线追踪器的薄膜干涉效果绘制方法,其特征在于:根据薄膜粗糙表面的实验观察,若随着观察角度的偏离,反射或透射的光谱能量成指数级衰减,则可用Phong镜面指数进行近似,即0^&= (?h*n)%其中《,表示入射光和反射光之间的半角方向,表面法线为n,指数e控制粗糙程度;若薄膜表面在日光照射下产生各向异性的干涉效果,可应用Ashikhmin着色器进行近似,即Dfuvt.....2Iif0i1.,其中ex和ey分别表示沿x轴和y轴控制表面粗
2, 1糙程度的指数,Φ表示光反射方向在χ-y平面上的投影与X轴的夹角。
5.一种基于光线追踪器的薄膜干涉效果绘制方法,其特征在于:它可直接集成入Maya建模软件并进行波动光学效果绘制,其具体步骤如下: (1)首先借助Maya优越的建模功能,构建预先设计好的三维场景,该场景由对象和光源组成; (2)在Maya软件中构造多层薄膜材质插件,并添加到Maya材质库中; (3)获取(I)步骤中需要显示波动效果的场景对象,从Maya材质库中选取本发明的多层薄膜材质,并设置为该对象的材质属性; (4)在Maya中直接调用权利要求1步骤2所述的渲染引擎,进行干涉场景的绘制; (5)设置不同的薄膜参数取值,重复操作(2)、(3)、(4)绘制不同的干涉光学效果。
【文档编号】G06T17/00GK104183007SQ201410393099
【公开日】2014年12月3日 申请日期:2014年8月12日 优先权日:2014年8月12日
【发明者】郑昌文, 吴付坤 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1