3D反射理论概述

上传人:m**** 文档编号:178842512 上传时间:2022-12-29 格式:DOCX 页数:12 大小:487.53KB
收藏 版权申诉 举报 下载
3D反射理论概述_第1页
第1页 / 共12页
3D反射理论概述_第2页
第2页 / 共12页
3D反射理论概述_第3页
第3页 / 共12页
资源描述:

《3D反射理论概述》由会员分享,可在线阅读,更多相关《3D反射理论概述(12页珍藏版)》请在装配图网上搜索。

1、3D反射理论概述之一01.概述CGI 技术是一门非常年轻而且发展迅速的科学。其它相关的还有许多技术也在很短的时 间内迅速的壮大,用于模拟自然现象,但它们只限于解决某一方面的问题,对我们来说选择 合适的技术来解决相应的问题比较困难。出于人们认识光与物质相互作用的方式,一些主要 的技术脱颖而出,这其中最常用的是工作于物体表面的技术,另外就是CGI技术的到来。它 的原理是向场景里发射光线来收集必要的信息,重建真实自然现象的一个关键问题是需要大 量的信息。假设在我们所处的环境里,包括看不见的地方,有大量带有能量的光线穿过,它 们在场景中哪怕是最狭小的地方以某种方式相互作用,这些光线的能量以不连续的形式

2、存在 (爱因斯坦光子说)。物体表面的原子会吸收光子使自已的能级升高,受到激发的不稳定原 子会自发的地回到最低能级,并将减少的那部分能量以光子的形式释放出来,这些光子根据 发射它原子的种类有特定的波长。打个比方吧,太阳光包含很多不同波长的电磁波,但这里 面只有一小部分能被我们的眼睛所识别。人造光源一般都有特定的颜色,因为它们含有各自 特定的元素。一个典型的钨极光源发出的光有一定的频率范围,这就是我们看到的橙色。同 样,氖光源发出的光是绿色。自然界的这种吸收和发出光能的现象无时无刻不在我们的身边出现。我们的眼睛扮演着 摄像机的角色,收集和识别从四面八方射过来的光线的波长(颜色)和光子数量(强度)。

3、 我们看到的图像正是在空间的某一点处众多光线的静止状态。前面的内容仅仅从物理学的角 度粗略的介绍了一下,但这样就足够了,我们没有必要考虑更深一层的物理知识。这些内容 足已解释我们看到的真实世界,今后的学习制作过程也足够用了。02.用CGI技术重现生活中的例子前面说过每个原子都会吸收和发射光线,物体的颜色决定于反射光线的波长和物质原子 的种类。入射光线反射后向四面八方散射,但要根据入射光线方向反射(否则反射也不会进 行),也许多物体不会直接在表面反射光线,像气体。光线会在大多数物质里传播,并被物 质内部的原子吸收和反射掉。像下图中的蜡球,这种蜡物质吸收除了绿色和黄色之外的所有 波长的光线(至少除

4、黄绿色外的绝大多数光线),然后像大多数物体一样作为绿光的发射物 体(除了黑洞之外)。你们可以看到当蜡球靠近光源后它显现出黄绿色。你们当中很多人可能都知道,在过去的几年中出现的很多光线跟踪渲染器都能模拟在“电脑 产生的表面内部散射光线”,也叫做SSS (Sub Surface seattering)。很多渲染器都使用 相似的原理,像GI中的采样方式,在某一点发射多条光线到场景中,这些光线经反射后携 带了物体表面的颜色信息,以此来确采样点的颜色,典型的例子-Monte Carlo。不同的渲染 器在保证图像质量不变的前提下有不同的缩短渲染时间的方式,因为有大量的光线信息需要 收集。这之中有简单的采样

5、点插值算法过滤器;也有智能化的能识别物体边缘尖锐部分的高 级插值算法过滤器,它能在需要的地方放置合适的采样点;还有适用于动画的采样引擎。听 起来这些算法都很高深,其实我们只要知道我们的工作是要找到合适的方法对付巨长的渲染 时间就行了。我在95到96年第一次接触3D软件的时候试着用一个光源照亮一个镜面属性 的球体,但失败了。当我用手电照射整个卧室的时候,卧室会有一点亮光,但在3D中除了 聚光灯的圆锥范围内其它的地方一片黑暗。我想,为什么会这样呢?后来我知道了,因为所 有的物体都是反光体,我们平时看到光大多数光线都是反射光线。朋友们你们是否知道, Blinn 和 Phong 这些表面 Saders

6、 是怎样工作的吗?固有色,高 光到底是什么呢?在很长的一段时间里,我只知道怎样使用它们,怎样用它们达到预期的效 果,但我从不知道它们真正代表着什么。上面提到过,所有的物体都会吸收和发出光线。一个全反射材质,也就是反射全部光线 的材质,像表面镀了金属的玻璃,它表面的每一个点都包含了环境的信息。当光线在物体表 面反射后一部分光线被吸收,反射光线变弱且被“染色”。因此过渡色就是物体表面除吸收 的那一部分的带有表面颜色的反射光线。在现实中绝大多数表面都会有一定程度的粗糙度, 我不是说肉眼可以看到的凹凸不平,而是微观上的表面粗糙。不同的Saders能够快速有效 地模拟表面的粗糙方式。高光就是反射最多,光

7、线聚集最强烈的那一部分表面产生的。地过 渡色区域也会有小面积的高光,但随着表面和光源的距离拉大高光也渐渐地变的不明显了。 这样的高光在现实世界并不存在,这是因为现实世界不存在3D软件中的理想光源(点光源 和面光源)。现实世界中的光源总会有一定的形状,这样高光区会表现有一定的细节而且可 以看到光源的形态。参考下图中的皮革,射到高光区的光线来自窗外的阳光,可以看到真实 表面的细节是很复杂的。可以说高光区只是过渡色区域中反射较强的表面。像这样的反光表 面只用一个简单的Sader是不可能实现的,我们必需用真正的光源来模拟窗外的光线。或许 还要用反射模糊来模拟过渡色区域的光线散射,用一点过滤色模拟表面吸

8、收不同的光线产生 的颜色。这可能就是这几年来HDRI如此流行的缘故吧。HDRI不仅可以产生高质量的间接照 明,还可以用渲染出真实的反射和高光区的精彩细节。这是一幅勺子的照片,主光来自上方。勺子的中心有非常强烈的高光,有趣的是周围还有一 圈圈的刮痕。每一圈刮痕可以看成在它边缘处反光的圆柱形凸痕。光线在它们之间反射,这 样反射光线在某个方向上散射开来,也就是CGI里所谓反射的各向异性。在这张图片中我们看到主光在高光区的中心形成一个十字。像打磨过的金属和毛发这类物质 常发生这种现象,而且针对这种高光已经有不同的Shaders算法了。我要指出的是这些算法 都必需能快速的产生各向异性的高光。如果想渲染出

9、正确的高光就必需用真实的物体,或者 至少用凹凸贴图模拟刮痕(这个 Shaders 用在 CGI 毛发上一点意义都没有,因为这种现象是 由许多许多细小的圆柱体产生的)。我只发现在使用不透明贴图的时候这种Shaders才管用。光线还可以表现出另一种特性。当光线与表面的夹角很小的时候光线趋向于在表面反射,但 当光线跟表面接近垂直时趋向于穿透表面介质。这也是一种很重要的特性,叫做Fresnel(菲 涅耳效应)光学纤维这种物质常发生这种现象。许多渲染器都支持这个特效。下面的图我们 能很清楚地看到这个效应,在角度很小的情下况液晶屏反射很强烈,但垂直看时大多光线都 穿过了塑料壳而被黑色的LCD吸收了。几乎所

10、有的材质都或多或少的表现出这种特性,特别 是透明物体(几乎所有的物体都是“透明”的,只不过这取决于物体原子吸收光线的多少罢 了)。好,我想到现在为止我已向你们介绍了光线的反射原理。我希望你们能在这里学到一些有用 的东西。下面的是一些焦散(Caustics)和散射(Dispersion)的图片。还有一张图片,上面 是一个物体和阴影,我想告诉你们的是这个透明物体的阴影和我的手一样也是不透明的,这 是初学者对透明物体使用光线跟踪阴影时常犯的一个毛病。如果你们有问题的话尽管问吧。请睁大眼睛随时留心你的身边,发觉周围不经意的小事 有时它也是美丽的。作为一个艺术家这样有助于提高你技术方面的理解。3D 反射

11、理论概述之二01.反射的奥秘-第二部分在第二部分中Philipp Zaufel用通俗的语言描述了 BRDF (双向反射分布函数)一一个 CG 中最常用的用来描述材质反射行为的数学模型。02.总论BRDF-双向反射分布函数,是用来描述材质反射行为的函数,是一个数学模型。这篇小 教程是为艺术工作者写的,而不程序员。有关BRDF的技术资料有很多,但我的目的是想让 你们了解如何让它正确的工作,而不是大篇幅的罗列。BRDF在CG中无处不在。当你使用 Phong,Blinn或者其它Shader的时候你就在使用BRDF模型。要是你用光线跟踪制作反射, 阴影或者产生GI效果的时候,你也在无形中使用着BRDF模

12、型。一个BRDF模型描述了一种表面上入射和反射光线的关系。因此说简单点就是光线射到 表面上,表面对光线产生作用。光线可以被反射(镜面的或漫射的),吸收,或两者都有 我们可以通过测量一种真实物体表面上的反射和入射光线来描述这种材质和它形成的 BRDF,测量的结果可以用在CG程序中来产生有相同表面属性的材质。但大多数情况下会使 用简化的,带可调节参数的模型来产生CG表面。这些反射模型可以是精确的,也可以是经 验化的。这里我们关心的是精确的分析反射模型。因为它里面的参数或者说方程是基于真实 世界的,并且为了能使材质叠加产生复杂的SHADERS,它们也使用在CGI中。像 Robertson-Sandf

13、ord 和 Beard-maxwell 这些经验模型,它们用的是虚构的参数来构建简化 的BRDF。下面我会提到一些高级的反射模型。像BTDF, BSDF, BDF和BSSDF,这是为了澄清 一个事实:一个BRDF只是依据表面属性,入射光角度(同它的参数)和视角来描述光线的 反射。BTDF-双向传输分布函数,描述了透明的表面属性,过程是通过矢量计算表面的两个方 向(不是同一个计算过程)。BRDF和BTDF合起来就是BSDF,简称BDF-双向散射分布函数, 描述表面上同一点处两个方向的半球的函数。这些就是高级(镜面)光线跟踪渲染的基础函 数。 BSSDF-双向表面散射反射分布函数,它的发明者就是发

14、明光子贴图的那个人, Henrik Jensen。它描述了物体内部的光线散射。好莱坞,概论就这么多,下面我们一一介绍吧。03.完美的漫射材质Lambert这是个非常简单的模型,而且距今已有200年的历史了。在CG场景中它无处不在。这 个模型描述了一个完美的漫射表面。入射光在表面上向四周等量的散开,如果从不同的角度 观察表面的话会看到同样的颜色(各向同性)。唯一不同的是入射的角度。入射击角为90 度时表面亮,反之则暗。这种模型在生活中是很常见的,但生活中这种的完美的漫射表面非 常少,这就是CG表面看不去是电脑产生的表面的原因。就因为它的速度相当快,而且非常 普及,因此它成为实时渲染表面SHADE

15、R中最常见常用的一个。Gourad Sading 是实时渲染技术中的一员,因为它不是基于每像素计算的,而是基于顶 点的计算方法,计算顶点色值后在各顶点间运用插值算法来形成多边形。(新一代的显卡都 支持实时像素阴影渲染,并且这些成熟的模型都成为了今天的标准,但这不是今天我们讨论 的话韪。)这个模型大多数情况下在物理上是正确的,这意味着一些重要的物理规则被保留了。其 中有一个就是反射光线的能量总和一定小于入射光线的能量。另一条是对不同颜色的吸收原 则,比如说过渡色为黑色的物体吸收掉所有的入射光线,并不产生反射(过渡色一个 Lambert 模型引申出的重要参数)。04.Lambert 的例子上图中的

16、个球体都被赋予了 Lambert材质。第1,2个是同一个球休的不同视角。图中 红圈表示球上的同一个点。可以看到Lambert材质在不同的视角产生相同的颜色。第3,4 个球体是同一个模型。它们反射的光线较前两个少,第三个是BRDF的典型模型一一环境色 (ambient)。它只是在整个图像中增加了另一种颜色来模拟环境的光照,但这种方法没什么 大用,因为它只会让你的图像变的不真实。要模拟环境光的话试着多打几个灯或者干脆用 GI。05.简易的镜面反射模型Phong,Blinn-Phong.上面的图显示的是物理上真实的境面反射一高光。左边一个是Lambert,完美的漫射。 红色的入射光线反射后被等量的向

17、四周反射。第二个是完美的镜面反射,渲染器用这个原理 来产生完美的镜面,像镜子等。第三个是反射模糊,反射光线由于表面的微小凹突在镜面反 射的路线上产生了偏移。现在我们已经了解了许多描述表面上不同部分的模型,上面介绍的 只是最简单的几个。还有一些描述不同类型镜面反射的模型(因为许多表面都有不规则的地 方)。最简单的几个:1975年Phong Bui Tong发明的Phong模型,由于它的速度相当快,成为了 CG表面镜 面反射应用最多最广泛的模型。它不是物理上精确的模型,你可以设置高光的强度使发送的 光线大于接收的光线,而这在现实中是不可能的。但因为 CGI 是一种艺术创作,那么这也是 可行的。下图

18、中最左侧的球体是Phong模型,这种模型的一大优点是你可以跟其它的模型混合使 用来达到不同的效果。最常见的就是把phong跟Lambert混合产生第二个球体的效果。注意 我用了相同的灯光照亮球体(位置,强度)。混合后的结果是高光变亮了。这样做的优点是 你可以调整模型中的不同参数(颜色,高光强度)来达到真实的效果。右面的两张图显示了 Phong的高光在入射角上和视角上都是独立的。这个三维图中的白色线框代表了蓝色垂 直入射光线在红色板处反射的反射光线的方向和强度大小。入射点周围的半球是完美的 Lambert漫射,而由于Phong高光的存在在顶部有一小部分的突起。实质上Phong高光就是 在入射光方

19、向上产生了较强的反射,加上入射点周围的高光区,再加上Lambert的漫射区形 成了整个球体。当光线从另一个角度入射时只是反射角度依据入射角=反射角定理变化。Blinn-Phong模型,也叫Blinn,是Phong模型最常见的变化类型。做为CG领域的先驱,Blinn 改进了 Phong模型的一些高光上的问题。Blinn模型混合了 Lambert的漫射部分和标准的高 光,在速度上相当快,因此成为许多CG软件中的默认材质。此外它也集成在了大多数图形 芯片中,用以产生实时快速的渲染。如下图:这两个球体使用相同的光照和相同的参数(Blinn 和Phong高光的基本参数是相同的)。看上去上图中的Phong

20、球和下图中的Blinn球没什么 区别,除了 Blinn球看上去更加柔和。但我们来看看不同角度下的反射值(图3,4),就 能看到非常明显的区别。在入射角为90度的情况下反射就像是非常柔和的的Phong高光,但角度很小时高光的反射处明显被撕裂。这是因为这两个的BRDF模型的算法有微小的区别, 但这有什么用呢?下图说明了 Phong和Blinn视觉上的不同。在入射角很小的情况下有个主要的区别。因此我 为球体打了两个灯,一个从顶部,一个从底部,都与摄像机成90度角。第一个是Phong球, 第二个是相同条件下的Blinn球。结果是由于球体上三角面的角度不同Phong的高光被扭曲 了,但Blinn球保证了

21、高光的完整性。好了,你可以根据你自己的需要选择Phong还是Blinn, 我个人认为Phong高光更正确一些,但Blinn高光的可控性更好。因为它可预测,特别是在 复杂的表面上,因此它被用做CG软件中最基本,也最快的BRDF模型。图中第3, 4个球使 用了光线跟踪的镜面反射,反射出了一个环境,同样是第一个用Phong,第二个用Blinn的 BRDF模型。注意,许多渲染程序并不支持镜面反射渲染的BRDF模型,而是使用自己的聚焦 算法。你们可以看到Phong上相同的扭曲效果和Blinn球上清晰柔和的反射(渲染条件完全相 同,唯一不同的是不同的渲染结果)。06.背部反射寸:Minnaert,Hapk

22、el/Lommel-Seelinger到此我们已经了解了最基本的均匀漫射和高光反射部分的反射模型,但是Phong和 Blinn只适用于遵守入射角=反射角原理的镜面反射。现实中的表面都会有各种各样的缺陷, 因此光线会以不同的方式散射-SSS特效或称背部散射。明显,背部散射就是表面在其背面反射光线。为达到这种效果出现了许多不同的模型 同时还与其它的模型混合来达到更加复杂的效果。最常见的一个是Minnaert模型。它使用 与 Lambert 相同的算法,只是增加了一个使表面变暗的参数来降低正常反射方向上的亮度。 下图中的第一个球就是Minnaert模型。它最初是用来描述月亮的BRDF的(基本Lamb

23、ert 反射加一点背部反射,世间少有)。Minnaert模型不允许有过大的背部散射值和边缘光照效 果。但由于它是基于Lambert漫射的因此它的速度相当快。而Hapkel/Lommel-seelinger 模型就有一点复杂了,但是你也可以改变背部和前部的散射量来产生更多的光线散射效果 这些模型很广泛的应用在表面上有微小毛发的材质和天鹅绒材质,这些材质会在其毛发的顶 部产生边缘背部散射光线。第三个球体是Hapke/Lommel-Seelinger的一个变种,主要用来 模拟带有绒毛的纤维。我在其背部打了一个蓝色的灯,以区别白色的过渡色。注意这些模型都加上了一些其它的参数,因为很少有渲染器能支持没有

24、更改过的纯模型。07.基于 Lambert 三角面的高级粗糙表面:Torrance,Sparrow,Cook,Blinn,Oren-Nayar建立一个描述粗糙表面的数学模型的想法很早就有了。Torrance和Sparrowl967年设 计出了一个以表面作为基准面的BRDF(早于Phong)。基面上分布有许多微小的三角面,用它 们之间形成的角度来描述表面的粗糙程度。由于相邻三角面间形成的槽之间的角度正好相 反,因此也叫它为 V 形槽。这个模型在物理上是正确的,因为它使用的是真实世界的参数来 描述反射的分布,而且它具有波长独立性,意思就是说表面上的某一点因视角的不同而有不 同的颜色。以后的几种模型

25、都是基于这个基本模型而建立的。之后Cook和Torrance在1982年迈出了重要的一步(有时称为Cook-Torrance模型,有 时也称为Blinn-Cook-Torrance模型,因为它也把Blinn模型考虑进去了)。它是一种由 Blinn和Torrance-Sparrow混合而成的模型,也是物理上精确的并而渲染速度上有所改进, 其中之一是集成了更多的三角面分布函数。Torrance-Sparrow,基于著名的高斯分布;内建 基于 Phong 式分布的 Cook-Torrance; Trowbridge-Reitz 和 Beckmann 分布。不过这只是一 小部分,重要的是集成了关于光线

26、的计算信息,光线照射在三角面上,依据两个参数来反射。 一个是著名的菲涅耳效应(简单的说就是反射量依据反射角和表面折射率-参见第一部分)。 第二是基于自身的阴影投射和三角面遮罩的几何衰减因子,如下图。Cook-Torrance这种常见模型主要是建立高光和模拟金属质感。有时也会混合Lambert 的漫射部分,但由于它在物理上的正确性它不适用于艺术表现,而且它的速度也不是最快的 一个。下图的第一个球体是Cook-Torrance高光,在表面粗糙度很小的情况下它跟Blinn 高光的形态很相似。另一个常见的三角面模型是Oren-Nayar模型(实际上我们常用三角面 模型是出于它的快速,而且它是Lambe

27、rt漫射之外一个很好的选择)。它是Cook-Torrance 模型的一个简易版,能建立漫射表和Blinn高光。我见过很多Oren-Nayar模型不同的应用 方法,所以我很难解释它。这中间很多不使用遮罩和自身阴影投射,也不把波长计算算在其 中。大多数情况下这个模型看起来像Lambert漫射加上视线正对处的暗淡,再加上一些背部 散射。下图中的 2,3 号球是 oren-Nayar 模型的简单渲染,画圈的部位是同一点的不同视角 说明了反射值依据视角的不同而不同。我很喜欢这个模型,因为它比Lambert更具真实性。下图中的 1 号球是另一种 Oren-Nayar 模型的应用。它看上去更像没有暗淡的 l

28、ambert 和背部散射的混合。不要问我它的算法是什么,它只是千万种经典模型中的一个变种。2号 球体是复杂表面上的OrenNayar漫射,带有尖锐的Blinn高光。3号球体使用相同的设置, 只是漫射部分是Lambert,高光是Phong。08.各向异性和序乱的模型:Ward, He, Schlick, Lewis, Lafortune等.在上世纪90年代出现了大量的模型,而且有很多模型发展到了现在。这之中最流行的 是He-Torrance-Sillion-Greenberg模型(1991非常复杂,引入SSS特效,有着新型漫射 部分叫直接漫射,基于物理真实和三角面),Schilick模型(199

29、4-类似遮罩的三角面,漫 射 和高光部分一起计算,支持各向异性的新算法), Ward 模型(1992-带有高斯分布的快 速各向异性模型,物理上正确),Lewis模型(1993-也叫著名的经典cosine-lobe模型, 物理上正确的Phong分布的扩展)和lafortune模型(1997-由于它是Lewis模型的普及, 也叫普通版的cosine-lobe模型)。在一些3D软件中你可以看到它们的应用,但软件中不是 用的它们的真名,因为软件的程序员只是用这些模型来达到他们特定的需求。这也是许多不 同的模型存在的原因。举例来说,如果你安装了3dsmax的第三方渲染插件和材质包,以及 一些带有 BRD

30、F 模型的插件(像HairFX,MooDee shaders,Facialstudio),你会看到有20-30 种不同的模型供你选择。再让我们来看看名向异性吧。到现在为止我们只介绍了各向同性模 型,就是说反射值不随模型的旋转而发生变化。同样基本的三角面模型也是各向同性的,因 为三角面的尺寸一样,且在表面上均匀分布。如果反射值随摄像机的角度旋转而不同也不能 说明是各向异性的模型,就像我在第一部分里讲到的那样,各向异性是你在某一方向观察时 表面上的凹凸和刮痕表现出同一性。来看看图片吧。球1的高光是Ward模型。很像Blinn是吗,但我认为这个看上去要好点,因为高斯分 布使得高光处有更多的细节,不像

31、Blinn那么柔和。这个球只是有高光,但是当你使用物理 上正确的镜面反射光线跟踪时你就明白我在说什么了。球2就是Ward模型的光线跟踪反射, 球3是同样条件下的Blinn模型。球2我使用了各向异性的参数,还做了一段动画来看这个 效果。有趣的是我也可以把Blinn模型弄成各向异性,这就是我所说的序乱的模型。你可以 看到,Blinn模型上的各向异性有点问题,Blinn反射像平常那样柔和,但左下的那道细长 高光表现的非常尖锐,这不像我想像中的那样。第三个球体是另个一种有趣的各向异性模型 它是 finalshaders 的 dis tant fur, 是 3ds max 的渲染插件 finalrend

32、er st age-1 的材质 插件。它可以做为高级BRDF模型的很好的例子,它含有许多不同的基本BRDF模型和一些扩 展的功能,能方便的使用户创建他们想要的效果。下图中的1号球是在绒绒的粗糙球体上使用了柔和的不均等色和Lambert漫射。在做成 动画的时候不均等色也会使球体看上去模糊,像长绒毛一样。 2号球使用非常尖锐的各向异 性高光来模拟油油的表面。第3个球使用了自定义曲线来控制一个强大模型的光线反射分 布。很遗憾这个类型的模型没有在大多数渲染器里得到支持,这种类型的著名模型有 FALLOFF贴图和Zauner模型。我希望在渲染程序里能够很好的整合镜面反射衰减和各向异 性分布的自定义曲线。

33、4号球使用Zauner模型来产生模拟的SSS效果。看来我们已经接触 到了 SSS,好吧我们开始下一个话题吧。09.高级渲染技巧和 SSS 模型:Kubelka-Munk,Hanrahan-Krueger,Jensen首先,Kubelka-Munk和Hanrahan-Krueger模型跟高级渲染没什么关系。它们跟上面讲 的模型一样,跟表面和摄像机有关,这两个又跟SSS特效有关。实际上它们是跟SSS特效最 有关的模型,除了 He模型之外。但它们只是处理表面的漫射部分,就是说它们不能真的计 算表面下面的光线来达到实现真实物理属性的目的。这种技术需要新的渲染技术,像高级光 线跟踪算法(MONTE CA

34、RLO)和光子贴图技术的支持。Kubelka-Munk模型是一个非常简单的 用来描述表面上色素层的BRDF。它先考虑一层色素,下一步通过一个拥有众多参数的函数 来模拟多层表面下的光线散射。就是说你可以指定表面的层数,漫射和散射行为,吸收光线 的颜色和厚度。下图的的1号球是Hanrahan-Krueger模型的动画。红色的过渡色是基本层,然会我在 之上加了一层皮肤色的层,做成动画。第二个球是复杂表面上的Hanrahan-Krueger,打了 背部散射的灯光来模拟毛发的细微模糊效果。这个模型模拟皮肤效果很好,特别是结合纹理 贴图的时候。但注意它只是一个BRDF(R表示反射),毕竟有它的局限性。三号

35、球是使用了 正确物理属性 MONTE CARLO 算法的 SSS 效果。这种效果很慢,你可以把它当做是加强的光线 跟踪算法,因为要从表面上某一点发射出多条光线到场景中来收集必要的信息,这比只发射 条光线要慢很多。这也可以是一种序乱的Lambert光线跟踪算法,因为从这一点处的半球 体射出的光线是随机的。我不肯定MONTE CARL0算法的光线跟踪渲染器是否考虑了 BRDF模 型,来达到多种效果的目的。典型的基于Lambert的电脑图像看上去是死板的,这时典型的 GI来到了,但这种算法渲染动画的速度太慢了。因此,Henrik Jensen,光子贴图的发明者 (几乎所有的渲染器都集成了这种特效)结合了这两种方法各自的优点,它使用了普及化的 Hanrahan-Kruger作为散射部分(直接散射和漫射)和一种优化的漫射逼进算法作为多重散 射的漫射部分(加上菲涅耳效应),他称他的这种快速SSS为BSSRDF宝贝。他成功了,看看 Gollum,哈里波特,或其它一些大预算的电脑动画你就知道我的意思了。最后一个球体使用 了 Hanrahan-Kruger和低品质的MONTE CARLO的混合来加速SSS特效。最后希望这篇讲解BRDF模型的文章讲到了你不知道的一些东西。如果你发现其中有不 对的地方发EMAIL给我。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!