第12讲 光照明模型_第1页
第12讲 光照明模型_第2页
第12讲 光照明模型_第3页
第12讲 光照明模型_第4页
第12讲 光照明模型_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、n 对自然界复杂光照的抽象和近似描述对自然界复杂光照的抽象和近似描述第12讲 光照明模型第12讲 光照明模型一 简单光照明模型简单光照明模型n基础知识nPhong光照明模型n增量式光照明模型n阴影的生成Phong光照明模型光源的种类n点光源点光源:如果光源大小比场景中的物体小得多,可如果光源大小比场景中的物体小得多,可以假定光线是从一个点向四周均匀发散的,它是以假定光线是从一个点向四周均匀发散的,它是发光体最简单的模型。发光体最简单的模型。n线光源线光源:以看作是多个点光源在一维空间上的合成,以看作是多个点光源在一维空间上的合成,例如模拟荧光灯管这类长条形的光源。例如模拟荧光灯管这类长条形的光

2、源。n面光源面光源:即可以看作线光源在高一维空间的合成,即可以看作线光源在高一维空间的合成,也可看作点光源在二维空间的合成。它可以用来也可看作点光源在二维空间的合成。它可以用来模拟发光的块状物体,例如烧红的铁块。模拟发光的块状物体,例如烧红的铁块。环境光n环境光(环境光(ambient lightambient light):):是邻近各物体所产生是邻近各物体所产生的光的多次反射最终达到平衡时的一种光,环境的光的多次反射最终达到平衡时的一种光,环境光是指光源间接对物体的影响。光是指光源间接对物体的影响。n例如,透过厚厚云层的阳光就可以称为环境光,例如,透过厚厚云层的阳光就可以称为环境光,n室内

3、环境光即为墙壁、天花板、地板及室内各物室内环境光即为墙壁、天花板、地板及室内各物体之间光的多次反射结果。体之间光的多次反射结果。n可近似地认为其光强分布是均匀的,抽象为单一可近似地认为其光强分布是均匀的,抽象为单一的强度值,它在任何一个方向上的分布都相同,的强度值,它在任何一个方向上的分布都相同,统一地影响场景中所有物体的所有表面。统一地影响场景中所有物体的所有表面。物体上某点的光强可以表示物体上某点的光强可以表示环境光环境光n一个可见物体在只有环境光的照射下其各一个可见物体在只有环境光的照射下其各点的明暗程度均一样,并让没有受到光源点的明暗程度均一样,并让没有受到光源直接照射的地方也有明亮度

4、,区分不出哪直接照射的地方也有明亮度,区分不出哪处明亮,哪处暗淡。因此,只有环境光是处明亮,哪处暗淡。因此,只有环境光是不能产生真实感图形的。不能产生真实感图形的。漫反射n环境光是对光照现像的最简单抽象,因而局限性环境光是对光照现像的最简单抽象,因而局限性很大。它仅能描述光线在空间中无方向并均匀散很大。它仅能描述光线在空间中无方向并均匀散布时的状态。很多情况下,入射光是带有方向的,布时的状态。很多情况下,入射光是带有方向的,比如典型的阳光。比如典型的阳光。n如果光照射到比较粗糙的物体表面,如粉笔,由如果光照射到比较粗糙的物体表面,如粉笔,由于这些表面从各个方向等强度地反射光,因而从于这些表面从

5、各个方向等强度地反射光,因而从各个视角出发,物体表面呈现相同的亮度,所看各个视角出发,物体表面呈现相同的亮度,所看到的物体表面某点的明暗程度不随观测者的位置到的物体表面某点的明暗程度不随观测者的位置变化的,这种等同地向各个方向散射的现象称为变化的,这种等同地向各个方向散射的现象称为光的漫反射光的漫反射漫反射n简单光照模型模拟物体表简单光照模型模拟物体表面对光的反射作用。面对光的反射作用。n光源被假定为点光源,其光源被假定为点光源,其几何形状为一个点,向周几何形状为一个点,向周围所有方向上辐射等强度围所有方向上辐射等强度的光,在物体表面产生反的光,在物体表面产生反射作用。射作用。漫反射n漫反射光

6、的强度近似地服从于漫反射光的强度近似地服从于LambertLambert定律,定律,即漫反射光的光强仅与入射光的方向和反即漫反射光的光强仅与入射光的方向和反射点处表面法向夹角的余弦成正比。射点处表面法向夹角的余弦成正比。)2/, 0(),cos(dpdKII漫反射IpIp为入射光强为入射光强物体表面上点物体表面上点P P的法向为的法向为N N从点从点P P指向光源的向量为指向光源的向量为L LKdKd与物体有光的漫反射系数与物体有光的漫反射系数漫反射)(NLKIIdpd当当L L,N N为单位向量时为单位向量时)2/, 0(),cos(dpdKII漫反射n漫反射的颜色可由入射光的颜色和物体表面

7、漫反射的颜色可由入射光的颜色和物体表面的颜色共同设定。的颜色共同设定。n例如,在例如,在RGBRGB颜色模型下,物体的漫反射系颜色模型下,物体的漫反射系数数的三元组的三元组( () )分别代表分别代表RGBRGB三原色三原色的漫反射系数,它们设定物体颜色,同样,的漫反射系数,它们设定物体颜色,同样,照射光照射光I I的三元组为的三元组为(I(I) ),通过这,通过这些分量的调整得到不同的彩色光照效果些分量的调整得到不同的彩色光照效果镜面反射n如果光照射到相当光滑的表面,就产生镜如果光照射到相当光滑的表面,就产生镜面反射面反射n镜面反射的特点是在光滑表面会产生一块镜面反射的特点是在光滑表面会产生

8、一块称之为高光的特亮区域称之为高光的特亮区域n镜面反射遵循光的反射定律镜面反射遵循光的反射定律) 2/, 0 (),(cosnspsKII为视线为视线V V与反射方向与反射方向R R的夹角的夹角镜面反射镜面反射nspsVRKII)(将将V V和和R R都规范为单位向量,镜面反射光强可表示为都规范为单位向量,镜面反射光强可表示为 nspdpaaVRKINLKIKII)()(Phong光照明模型Phong光照明模型nspdpaaVRKINLKIKII)()(V V为视线方向为视线方向在简单光照明模型中,在简单光照明模型中,只能通过设置物体的漫只能通过设置物体的漫反射系数来控制物体的反射系数来控制物

9、体的颜色。颜色。Phong光照明模型nsbpbdbpbababbnsgpgdgpgagaggnsrprdrprararrNHKINLKIKIINHKINLKIKIINHKINLKIKII)()()()()()(Phong光照明模型Phong模型示例Phong光照明模型nPhongPhong光照明模型是真实感图形学中提出的光照明模型是真实感图形学中提出的第一个有影响的光照明模型第一个有影响的光照明模型n经验模型,经验模型,PhongPhong模型存在不足:模型存在不足:n显示出的物体象塑料,无质感变化显示出的物体象塑料,无质感变化n没有考虑物体间相互反射光没有考虑物体间相互反射光n镜面反射颜色与

10、材质无关镜面反射颜色与材质无关n镜面反射大入射角失真现象镜面反射大入射角失真现象增量式光照明模型n前面讨论的光照模型最后的显示结果均依赖于物体表面法前面讨论的光照模型最后的显示结果均依赖于物体表面法向量(向量(N N)的计算而当今流行的三维不规则几何物体通常)的计算而当今流行的三维不规则几何物体通常是用多边形(三角形)来近似模拟的。是用多边形(三角形)来近似模拟的。n由于每一个多边形的法向一致,因而多边形内部的象素的由于每一个多边形的法向一致,因而多边形内部的象素的颜色都是相同的,而且在不同法向的多边形邻接处,光强颜色都是相同的,而且在不同法向的多边形邻接处,光强突变,使具有不同光强的两个相邻

11、区域之间的光强不连续突变,使具有不同光强的两个相邻区域之间的光强不连续性性( (马赫带效应马赫带效应) )。为了保证多边形之间的光滑过渡,使连。为了保证多边形之间的光滑过渡,使连续的多边形呈现匀称的光强,就需要根据某种规则对顶点续的多边形呈现匀称的光强,就需要根据某种规则对顶点间的各种信息进行加权平均,即所谓的插值算法。间的各种信息进行加权平均,即所谓的插值算法。增量式光照明模型增量式光照明模型n插值算法的基本思想插值算法的基本思想 在每一个多边形的顶点处计算出光照强在每一个多边形的顶点处计算出光照强度或参数,然后在各个多边形内部进行均匀度或参数,然后在各个多边形内部进行均匀插值,得到多边形的

12、光滑颜色分布插值,得到多边形的光滑颜色分布n计算机图形学中的两个主要算法是计算机图形学中的两个主要算法是 Gouraud Gouraud明暗处理明暗处理( (双线性光强插值算法双线性光强插值算法) ) Phong Phong明暗处理明暗处理( (双线性法向插值算法双线性法向插值算法) )GouraudGouraud明暗处理明暗处理)(121kaNNNkNGouraudGouraud明暗处理明暗处理GouraudGouraud明暗处理明暗处理 GouraudGouraud明暗处理明暗处理1221121441141()()1()()1()()assbsssbbsasabaIIyyIyyyyIIyy

13、IyyyyIIxxIxxxx1I2I3I4IaIbIsI扫描线Y YX XO OGouraudGouraud明暗处理明暗处理PhongPhong明暗处理明暗处理 将镜面反射引进到明暗处理中,将镜面反射引进到明暗处理中, 解决了高光问题。解决了高光问题。PhongPhong明暗处理明暗处理1221121441141()()1()()1()()assbsssbbsasabaNNyyNyyyyNNyyNyyyyNNxxNxxxxPhongPhong明暗处理明暗处理增量式光照明模型阴影的生成阴影的生成Why shadow?n无阴影图像 An image with shadow阴影的生成n无阴影的物体似

14、乎浮在场景之上无阴影的物体似乎浮在场景之上n阴影则增加了场景的真实感阴影则增加了场景的真实感n阴影使场景给人以想象的空间阴影使场景给人以想象的空间n阴影给定了光源与物体在场景中相对位置阴影给定了光源与物体在场景中相对位置的信息的信息阴影的生成n阴影是由于光源被物体遮挡而在该物体后面产生阴影是由于光源被物体遮挡而在该物体后面产生的较暗的区域。的较暗的区域。n在真实感图形学中,通过阴影可以反映出物体之在真实感图形学中,通过阴影可以反映出物体之间的相互关系,增加图形的立体效果和真实感。间的相互关系,增加图形的立体效果和真实感。n确定了物体的阴影区域后,结合到简单光照模型,确定了物体的阴影区域后,结合

15、到简单光照模型,对于物体表面的多边形,如果在阴影区域内部,对于物体表面的多边形,如果在阴影区域内部,那么该多边形的光强就只有环境光,后面的几项那么该多边形的光强就只有环境光,后面的几项光强都为零,否则就用正常的模型计算光强。光强都为零,否则就用正常的模型计算光强。n通过这种方法,就可以把阴影引入简单光照明模通过这种方法,就可以把阴影引入简单光照明模型中,使产生的真实感图形更有层次感。型中,使产生的真实感图形更有层次感。 阴影的生成nShadow polygon(阴影多边形) : J. F. Blinn. Jim Blinns Corner: Me and My (Fake) Shadow. I

16、EEE Comput. Graph. Appl.,8(1):8286, January 1988.nShadow volume : F. C. Crow. Shadow Algorithms for Computer Graphics. Computer Graphics (Proc. SIGGRAPH77), 11(2):242248, July 1977.nShadow buffer(double buffer) : Lance Williams. Casting Curved Shadows on Curved Surfaces. Computer Graphics (Proc.SIGG

17、RAPH 78), 12(3):270274, 1978.三种基本算法(Three basic shadow algorithms)阴影的生成阴影多边形Algorithm II: Shadow Buffer(cont.)Algorithm III: Shadow Volume(cont.) 二 局部光照明模型从光电学知识和物体微平面假设出发,介绍镜面反射与物体材质有关的普遍局部光照明模型n仅处理光源直接照射物体表面的光照明模型称为仅处理光源直接照射物体表面的光照明模型称为局部光照明模型局部光照明模型n可以处理物体之间光照的相互作用的模型称为整可以处理物体之间光照的相互作用的模型称为整体光照明模

18、型体光照明模型n简单光照明模型,经验模型,不足之处简单光照明模型,经验模型,不足之处n镜面反射项与物体表面的材质无关镜面反射项与物体表面的材质无关n有必要研究复杂、普遍的局部光照明模型有必要研究复杂、普遍的局部光照明模型局部光照明模型n用局部光反射模型生成的各种材质的瓶子用局部光反射模型生成的各种材质的瓶子局部光照明模型局部光照明模型n理论基础理论基础n局部光照明模型局部光照明模型理论基础理论基础理论基础两个阶段:两个阶段:1 1)从光源到物体表面的过程中的衰减)从光源到物体表面的过程中的衰减2 2)从物体表面到人眼过程中的衰减)从物体表面到人眼过程中的衰减总的效果:物体表面的亮度降低总的效果

19、:物体表面的亮度降低看看光光强强的的衰衰减减动动画画理论基础理论基础N N理论基础理论基础irbdEIR局部光照明模型局部光照明模型二二 局部光照明模型局部光照明模型dLNIdIEiii)(cosdLNIRIibdr)(wddscosdsN局部光照明模型局部光照明模型ssddbdRKRKR1sdKK)(ddRR )(),(VNLNDGRs局部光照明模型局部光照明模型)()(ssddiaarRKRKdLNIKII局部光照明模型局部光照明模型简单与局部模型比较 简单光照明模型简单光照明模型(Phong) 局部光照明模型局部光照明模型局部模型的优点n相对于简单光照明模型而言相对于简单光照明模型而言n

20、基于入射光能量导出的光辐射模型基于入射光能量导出的光辐射模型n反映表面的粗糙度对反射光强的影响反映表面的粗糙度对反射光强的影响n高光颜色与材料的物理性质有关高光颜色与材料的物理性质有关n改进改进入射角很大时的失真现象入射角很大时的失真现象n考虑了物体材质的影响,可以模拟磨光的金属考虑了物体材质的影响,可以模拟磨光的金属光泽光泽三 光透射模型n播放透射动画光透射模型 自然界的许多物体是透明或半透明的。自然界的许多物体是透明或半透明的。n通过透明物体(如玻璃窗),能清楚地看到其后通过透明物体(如玻璃窗),能清楚地看到其后面的物体,此时,光线会同时产生反射和折射;面的物体,此时,光线会同时产生反射和

21、折射;n通过半透明物体(如磨砂玻璃窗)只能看到其后通过半透明物体(如磨砂玻璃窗)只能看到其后面模糊的景物,此时,光线会同时产生反射、折面模糊的景物,此时,光线会同时产生反射、折射和漫射。射和漫射。n经折射后的光线将穿过透明或半透明物体而在它经折射后的光线将穿过透明或半透明物体而在它的另一个面射出,形成所谓的透射光。的另一个面射出,形成所谓的透射光。 光透射模型nWhitted光透射模型光透射模型nHall光透射模型光透射模型光透射模型光透射模型)()(ttnspdpaaKINHKINLKIKIIWhitted光透射模型光透射模型)()(ssttnspdpaaKIKINHKINLKIKIIWhi

22、tted光透射模型光透射模型)(LNKIIdtpdtHall光透射模型光透射模型 四 整体光照明模型n简单光照模型不考虑周围环境对当前景物表面的光照明影响,忽略了光在环境景物之间的传递,很难表现自然界复杂场景的高质量真实感图形。n为了增加图形的真实感,必须考虑环境的漫射、镜面反射和规则投射对景物表面产生的整体照明效果。整体光照明模型n物体表面入射光的构成(1)光源直接照射(2)其它物体的反射光(3)透射光n局部光照明模型仅考虑了(1)整体光照明模型n例如:从视点观察到的物体A表面的亮度来源于三方面的贡献:(1)光源直接照射到A的表面,然后被反射到人眼中的光产生的。(2)光源或其它物体的光经A物

23、体折射到人眼中的光产生的。(3)物体B的表面将光反射到物体A的表面,再经物体A的表面反射到人眼中产生的。n局部光照明模型仅考虑了(1)整体光照明模型n光线跟踪算法n辐射度方法移移动动光光源源时时光光线线跟跟踪踪光线跟踪算法光线跟踪算法n对屏幕上每个像素沿深度方向确定该像素在哪个多边形表面上n计算该区域上的光强值(通过各顶点插值并计算而来)。n最后根据光强值输出该象素的颜色光线跟踪算法n光线跟踪算法是真实感图形学中的主要算法之一,算法具有原理简单、实现方便和能够生成各种逼真的视觉效果等优点。n1968年Apple A给出光线跟踪算法的描述n1979年Kay和Greenberg的研究考虑了光的折射

24、n1980年Whitted提出了第一个整体光照明Whitted模型,并给出一般性光线跟踪算法的范例光线跟踪算法光线跟踪算法n一 基本原理n二 光线跟踪算法的加速一 光线跟踪算法的基本原理n最基本的光线跟踪算法是跟踪镜面反射和折射。n从光源发出的光遇到景物的表面,发生反射和折射,光就改变方向,沿着反射方向和折射方向继续前进,直到遇到新的景物。但是光源发出光线,经反射与折射,只有很少的部分可以进入人的眼睛。因此实际光线跟踪算法的跟踪方向与光传播的方向是相反的,而是视线跟踪。一 光线跟踪算法的基本原理n由视点向象素发出一根射线,与第一个景物相交后,在其反射与折射方向上进行跟踪。一 光线跟踪算法的基本

25、原理 在光线跟踪算法中,涉及4种光线:n1条视线E,是由视点V与屏幕上的像素点(x,y)发出的射线;n 对每一景物表面上的交点Pi有3条光线: 与光源的连线Si 反射光线Ri 折射光线Ti一 光线跟踪算法的基本原理n光线跟踪算法构成的光线树演演示示光光线线跟跟踪踪动动画画光线跟踪终止条件光线跟踪终止条件 光线射出画面,不再与场景中的景光线射出画面,不再与场景中的景物相交物相交 被跟踪的结点对屏幕象素显示光亮被跟踪的结点对屏幕象素显示光亮度的贡献小于一定阈值度的贡献小于一定阈值 达到光线跟踪的最大深度达到光线跟踪的最大深度 一 光线跟踪算法的基本原理算法描述算法描述1 1由视点向屏幕上所有象素中

26、心发射光线;由视点向屏幕上所有象素中心发射光线; 2 2每一根光线与场景中所有景物求交,找到最近每一根光线与场景中所有景物求交,找到最近的交点;的交点; 3 3计算该点处由光源直接照射产生的光亮度计算该点处由光源直接照射产生的光亮度I Il l; 4 4若该点处表面为镜面或透射面,则作递归光线若该点处表面为镜面或透射面,则作递归光线跟踪,计算周围环境通过该点向观察者方向投跟踪,计算周围环境通过该点向观察者方向投射的整体镜面反射光亮度射的整体镜面反射光亮度I Ir r和透射光亮度和透射光亮度I It t; 5 5显示每一象素处的光亮度显示每一象素处的光亮度 trlIIII一 光线跟踪算法的基本原

27、理设置视点,投影平面以及窗口的参数;For (窗口内的每一条扫描线) for (扫描线上的每一个像素) 确定从视点指向像素中心的光线ray; 像素的颜色=RayTracing(ray,1); 一 光线跟踪算法的基本原理Color RayTracing(Ray ray, int depth) 求ray与物体表面最近的交点P; if (有交点) 用局部光照明模型计算P点的Ic; color = Ic; if (depth给定的最大跟踪层次) 计算ray的反射光线; Is=RayTracing(反射光线,depth+1); if (物体是透明的) 计算ray的透射光线; It=RayTracing(

28、透射光线,depth+1); color = Ic + Is + It ; else color = black; return color ; 优点: 能够方便的产生阴影,模拟镜面反射与折射现象。 缺点: 计算量大,每一条光线都要与场景中的物体进行求交、计算光照模型等。一 光线跟踪算法的基本原理算法分析算法分析1 1求交计算量占整个光线跟踪计算量求交计算量占整个光线跟踪计算量90%90%以上以上 减少求交计算量的方法减少求交计算量的方法 包围盒方法包围盒方法 空间剖分方法空间剖分方法 2 2点采样容易导致画面走样点采样容易导致画面走样 方法:自适应超级采样方法:自适应超级采样 基于层次包围盒

29、的快速光线跟踪算法基于层次包围盒的快速光线跟踪算法 一 光线跟踪算法的基本原理n基本的光线跟踪算法,每一条射线都要和所有的物体求交,处理效率低n光线跟踪加速技术是实现光线跟踪算法的重要组成部分n包括:提高求交速度、减少求交次数、减少光线条数、采用广义光线和采用并行算法等二 光线跟踪算法的加速二 光线跟踪算法的加速n包围盒技术包围盒技术n三维三维DDA算法算法n基于空间剖分基于空间剖分n1 包围盒技术n 包围盒技术是加速光线跟踪的基本方法之一,由Clark于1976年提出n 1980年,Rubin和Whitted将它引进到光线跟踪算法之中,加速光线与景物的求交测试二 光线跟踪算法的加速n基本思想

30、n 用一些形状简单的包围盒将复杂景物包围起来,求交的光线首先跟包围盒进行求交测试,若相交,则光线再与景物求交,否则光线与景物必无交n 利用形状简单的包围盒与光线求交的速度较快来提高算法的效率二 光线跟踪算法的加速n示意图二 光线跟踪算法的加速基于层次包围盒的快速光线跟踪算法基于层次包围盒的快速光线跟踪算法包围盒:以简单的测试代替光线对包围盒内所含景包围盒:以简单的测试代替光线对包围盒内所含景物的复杂求交运算物的复杂求交运算目标:目标: 快速剔除不交的物体快速剔除不交的物体对包围盒形状的要求:对包围盒形状的要求: 包裹要紧密包裹要紧密 求交测试要简便求交测试要简便 二 光线跟踪算法的加速n层次结

31、构求交测试方法层次结构求交测试方法n测试光线首先进入该层次的根节点,并从根节点开始,测试光线首先进入该层次的根节点,并从根节点开始,从上向下与各相关节点的包围盒进行求交测试。若一从上向下与各相关节点的包围盒进行求交测试。若一节点的包围盒与光线有交,则光线将递归地与其子节节点的包围盒与光线有交,则光线将递归地与其子节点进行求交测试,否则,该节点的所有景物均与光线点进行求交测试,否则,该节点的所有景物均与光线无交,该节点的子树无需作求交测试无交,该节点的子树无需作求交测试二 光线跟踪算法的加速平行平行2n2n面包围盒面包围盒 优点:优点: 多面体可以较紧密地逼近一个物体多面体可以较紧密地逼近一个物体 平面求交计算较为简单平面求交计算较为简单 同一景物的三种平行包围体 (a) (b

温馨提示

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

评论

0/150

提交评论