三维形体的真实感显示_第1页
三维形体的真实感显示_第2页
三维形体的真实感显示_第3页
三维形体的真实感显示_第4页
三维形体的真实感显示_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、10. 三维形体的真实感显示 1. 1. 简单效果的浓淡图生成简单效果的浓淡图生成2. 2. 一般性效果图形生成一般性效果图形生成3. 3. 真实感效果图生成真实感效果图生成 1) 1) 全局关照模型全局关照模型 2) 2) 光线跟踪光线跟踪 3) 3) 辐射度算法辐射度算法4. 4. 纹理映射纹理映射光照效果影响因素光照效果影响因素 当光照射到物体表面时,当光照射到物体表面时,物体对光会发生反射、物体对光会发生反射、透射、吸收、衍射、折射和干涉。透射、吸收、衍射、折射和干涉。 被物体吸收的部分转化为热。被物体吸收的部分转化为热。 颜色是人对光的生理反映颜色是人对光的生理反映,反射、透射的光进

2、入,反射、透射的光进入人的视觉系统,使我们能看见物体的颜色。人的视觉系统,使我们能看见物体的颜色。 为模拟这一现象,我们建立一些数学模型来替代为模拟这一现象,我们建立一些数学模型来替代复杂的物理模型。这些模型就称为复杂的物理模型。这些模型就称为明暗效应模型明暗效应模型或者或者光照明模型光照明模型。思考:我们所见物体的颜色是怎样形成的?思考:我们所见物体的颜色是怎样形成的? 影响观察物体颜色的主要因素有哪些?影响观察物体颜色的主要因素有哪些? 在不考虑人的生理因素的情况下,在不考虑人的生理因素的情况下,物体的颜色与物体的颜色与光源颜色、物体表面物理特性、表面粗糙度、周边环光源颜色、物体表面物理特

3、性、表面粗糙度、周边环境等因素有关境等因素有关。 在正常的情况下,光沿着直线传播,当光遇到介在正常的情况下,光沿着直线传播,当光遇到介质不同的表面时,会产生反射和折射现象,而且质不同的表面时,会产生反射和折射现象,而且在反在反射和折射的时候,它们遵循反射定律和折射定律。射和折射的时候,它们遵循反射定律和折射定律。研究光照模型的目的:研究光照模型的目的: 确定物体表面的每一个多边形或者多边形中确定物体表面的每一个多边形或者多边形中的每一个点的颜色。的每一个点的颜色。10. 三维形体的真实感显示 1. 1. 简单效果的浓淡图生成简单效果的浓淡图生成2. 2. 一般性效果图形生成一般性效果图形生成3

4、. 3. 真实感效果图生成真实感效果图生成 1) 1) 全局关照模型全局关照模型 2) 2) 光线跟踪光线跟踪 3) 3) 辐射度算法辐射度算法4. 4. 纹理映射纹理映射1. 简单效果的浓淡图生成简单效果的浓淡图生成1 1)单颜色填充多边形)单颜色填充多边形 算法思路:根据多面体表面的平面法矢决定颜色值,直接调用直接调用OpenGL的多边形填充算法即可的多边形填充算法即可。 算法简单,但轮廓分明,各多边形之间过渡不光滑。2 2)GouraudGouraud模型模型 算法思想: 为使多边形边界之间光滑显示,先计算多边形各顶点光强,后通过双线性插值,计算多边形内各点光强。 能保证多边形边界颜色的

5、连续性,但高光模糊,有时出现过亮或过暗条纹(即马赫效应)。 计算较为简单,计算较为简单,OpenGL算法已实现硬件加速算法已实现硬件加速。算法步骤:算法步骤:For(每一个三角形) 1) 计算多边形顶点的平均法向; 2) 根据基本光照模型计算顶点的平均光强; 3) 通过线性插值,计算多边形的边上的各点光强; 4) 通过线性插值,计算多边形内部各点的光强。10.三维形体的真实感显示 1. 1. 简单效果的浓淡图生成简单效果的浓淡图生成2. 2. 一般性效果图形生成一般性效果图形生成3. 3. 真实感效果图生成真实感效果图生成 1) 1) 全局关照模型全局关照模型 2) 2) 光线跟踪光线跟踪 3

6、) 3) 辐射度算法辐射度算法4. 4. 纹理映射纹理映射2. 一般性效果图形生成一般性效果图形生成1 1)简单光照明模型)简单光照明模型-Phong模型 简单光照明模型简单光照明模型模拟物体表面对光的反射作用。 光源被假定为点光源点光源,反射作用被细分为镜面反射镜面反射(Specular Reflection)和漫反射漫反射(Diffuse Reflection)。 简单光照明模型简单光照明模型只考虑物体对直接光照的反射作用,而物体间的光反射作用,只用环环境光境光(Ambient Light)来表示。Phong模型是一种简单光照明模型模型是一种简单光照明模型不妨设:不妨设: 入射光强为入射光

7、强为I Il l 物体表面上点物体表面上点P P 的法向为的法向为N N 从点从点P P指向光源的向量为指向光源的向量为L L 两者间的夹角为两者间的夹角为 图 漫反射A A) 理想漫反射理想漫反射 当光源来自一个方向时,当光源来自一个方向时,漫反射光均匀向各方向漫反射光均匀向各方向传播,与视点无关传播,与视点无关,它是由表面的粗糙不平引起的,它是由表面的粗糙不平引起的,因而可假定漫反射光的空间分布是均匀的。因而可假定漫反射光的空间分布是均匀的。 如果如果 I Il l 表示点光源的强度,表示点光源的强度,k kd d 表示物体表面漫反射系数,则表示物体表面漫反射系数,则漫反射方程可描述为:漫

8、反射方程可描述为: cosdlkII )2 ( 0 若若N N为物体表面的单位法向量,为物体表面的单位法向量,L L为物体表面上一点为物体表面上一点指向光源的单位矢量,则:指向光源的单位矢量,则: )(LN dlkII)(1iniliIILN 如果有多个光源,则光强度计算式为:如果有多个光源,则光强度计算式为: 图 漫反射B)镜面反射光)镜面反射光 对于理想镜面,反射光集中在一个方向,并遵守反射定律。 对一般的光滑表面,反射光集中对一般的光滑表面,反射光集中在一个范围内,且由反射定律决定的在一个范围内,且由反射定律决定的反射方向光强最大反射方向光强最大。 图 镜面反射光 因此,对于同一点来说,

9、从不同位置所观察到的镜面反因此,对于同一点来说,从不同位置所观察到的镜面反射光强是不同的。镜面反射光强可表示为:射光强是不同的。镜面反射光强可表示为: Ks Ks是与物体有关的镜面反射系数,是与物体有关的镜面反射系数,a a 为视线方向为视线方向V V与反与反射方向射方向R R的夹角,的夹角,n n为反射指数,反映了物体表面的光泽程度,为反射指数,反映了物体表面的光泽程度,一般为一般为1 120002000,数目越大物体表面越光滑。,数目越大物体表面越光滑。 镜面反射光将会在反射方向附近形成很亮的光斑,镜面反射光将会在反射方向附近形成很亮的光斑,称为高光现象称为高光现象。 镜面反射光产生的高光

10、区域只反映光源的颜色镜面反射光产生的高光区域只反映光源的颜色 将将V和和R都格式化为单位向量,镜面反射光强可表都格式化为单位向量,镜面反射光强可表示为:示为:式中式中: 对多个光源:对多个光源: 图 镜面反射光 C)环境光)环境光 环境光是指光源间接对物体的影响,是在物体和环境之间多环境光是指光源间接对物体的影响,是在物体和环境之间多次反射,最终达到平衡时的一种光。次反射,最终达到平衡时的一种光。 近似地认为同一环境下的环境光,其近似地认为同一环境下的环境光,其光强分布是均匀光强分布是均匀的,它的,它在在任何一个方向上的分布都相同任何一个方向上的分布都相同。例如,透过厚厚云层的阳光就。例如,透

11、过厚厚云层的阳光就可以称为环境光。可以称为环境光。 在简单光照明模型中,用一个常数来模拟环境光,用式子表在简单光照明模型中,用一个常数来模拟环境光,用式子表示为:示为: 其中:其中:Ia 为环境光的光强为环境光的光强 Ka为物体对环境光的反射系数为物体对环境光的反射系数 D)Phong光照明模型光照明模型 综上分析,综上分析,Phong光照明模型表述为:光照明模型表述为:由物体表面上一由物体表面上一点点 P 反射到视点的光强反射到视点的光强 I 为环境光的反射光强为环境光的反射光强 I e、理想漫、理想漫反射光强反射光强 I d、和镜面反射光、和镜面反射光 I s 的总和的总和,即:,即:按按

12、R、G、B三种颜色分量展开计算得:三种颜色分量展开计算得:I I e I d I s由此可得:由此可得: 用用Phong模型进行计算时,对物体表面上每个点模型进行计算时,对物体表面上每个点P,均,均需计算光线的反射方向需计算光线的反射方向R,再由,再由V计算(计算(RV),为减少计),为减少计算,可作如下假设:算,可作如下假设: a) 光源在无穷远处,即光线方向光源在无穷远处,即光线方向L为常数;为常数; b) 视点在无穷远处,即视线方向视点在无穷远处,即视线方向V为常数;为常数; c) 为避免计算反射方向为避免计算反射方向R,用(用(HN)代替()代替(RV),), 这里这里H为为L和和V的

13、平分向量的平分向量 ,即:,即: H (LV)/ | LV | 注意:注意:Phong模型对物体表面的每一点的光强进行计算,显模型对物体表面的每一点的光强进行计算,显然其计算量较大。然其计算量较大。E)Phong模型计算实例模型计算实例 图中可以看出高光指数、漫反射及镜面系数对显示效果的影响图中可以看出高光指数、漫反射及镜面系数对显示效果的影响 Phong Phong光照明模型是真实感图形学中提出的第一个有影响光照明模型是真实感图形学中提出的第一个有影响的光照明模型,生成图象的真实度已达到可接受程度。的光照明模型,生成图象的真实度已达到可接受程度。 但在实际应用中,它是一个经验模型,还具有以下

14、的一些但在实际应用中,它是一个经验模型,还具有以下的一些问题:问题: 用用PhongPhong模型显示出的物体象塑料,没有质感;模型显示出的物体象塑料,没有质感; 没有考虑距离对光照强度的衰减影响;没有考虑距离对光照强度的衰减影响; 环境光是常量,没有考虑物体之间相互的反射光;环境光是常量,没有考虑物体之间相互的反射光; 镜面反射的颜色是光源的颜色,与物体的材料无关;镜面反射的颜色是光源的颜色,与物体的材料无关; 镜面反射的计算在入射角很大时会产生失真;镜面反射的计算在入射角很大时会产生失真; PhongPhong模型是简单的局部光照模型,对物体间相互反射及模型是简单的局部光照模型,对物体间相

15、互反射及折射、阴影处理欠缺等。折射、阴影处理欠缺等。 2)浓淡图绘制算法)浓淡图绘制算法 通过前面介绍的通过前面介绍的GouraudGouraud模型、模型、PhongPhong光照模型可光照模型可计算物体表面上点的颜色值计算物体表面上点的颜色值。 为了显示形体的三维真实感效果图,下面介绍多为了显示形体的三维真实感效果图,下面介绍多面体面体浓淡图的如何绘制浓淡图的如何绘制。 由于空间三维物体是连续点集。显由于空间三维物体是连续点集。显然直接计算点的颜色将无法确定计算采然直接计算点的颜色将无法确定计算采样点的位置和数目。样点的位置和数目。 事实上,我们仅能看到屏幕所能显示的区域。如事实上,我们仅

16、能看到屏幕所能显示的区域。如果能够求得屏幕上每一个象素点所对应的物体上点果能够求得屏幕上每一个象素点所对应的物体上点的颜色,这样就可绘制整个图形。的颜色,这样就可绘制整个图形。 为了得到屏幕上某象素点所对应的物体上点的颜为了得到屏幕上某象素点所对应的物体上点的颜色,假定作经过该象素点的一条射线,射线平行于观色,假定作经过该象素点的一条射线,射线平行于观察视线,则射线与多面体物体可能有多个交点。察视线,则射线与多面体物体可能有多个交点。 如果物体不是透明的,则处于最前面的交点的颜如果物体不是透明的,则处于最前面的交点的颜色即为所求色即为所求,如右图所示。,如右图所示。 最简单的算法最简单的算法Z

17、Z缓冲区(缓冲区(Z-BufferZ-Buffer)算法)算法 为计算物体表面上对应象素点的颜色为计算物体表面上对应象素点的颜色 ,用帧缓存器存,用帧缓存器存放每个象素颜色(按光照模型计算),用深度缓存空间来放每个象素颜色(按光照模型计算),用深度缓存空间来存放每个象素深度值存放每个象素深度值Z,称为称为Z缓冲器(即缓冲器(即Z-Buffer)。A) Z缓冲器缓冲器(Z-Buffer)算法算法 cz绘制时思路:绘制时思路: 1)Z 缓冲器中每个单元值是对应象素点所反映物缓冲器中每个单元值是对应象素点所反映物体对象的体对象的 z 坐标值,初值取成坐标值,初值取成 z 的极小值。的极小值。 2)将

18、待处理的景物表面上的采样点变换到图像空)将待处理的景物表面上的采样点变换到图像空间,计算其深度值间,计算其深度值 z。 3)并根据采样点在屏幕上的投影位置,将其)并根据采样点在屏幕上的投影位置,将其 z 值值与已存贮在与已存贮在 z 缓存器中相应象素处的原可见点的深度值缓存器中相应象素处的原可见点的深度值进行比较。进行比较。 4)如果该采样点位于)如果该采样点位于Z缓存器所记录的可见点之缓存器所记录的可见点之前,则将该采样点处的表面颜色填入帧缓存器相应象素,前,则将该采样点处的表面颜色填入帧缓存器相应象素,同时用其深度值更新同时用其深度值更新 z 缓存器存贮的深度值。否则,不缓存器存贮的深度值

19、。否则,不写入也不更新。写入也不更新。Z-Buffer算法()算法() for (i=0,1,m ) /m:窗口水平方向象素数目:窗口水平方向象素数目 for (j=1,n) / n:窗口垂直方向象素数目:窗口垂直方向象素数目 用背景色初始化帧缓存用背景色初始化帧缓存CB:CB(i,j)=背景色;背景色;用最小用最小Z值初始化深度缓存:值初始化深度缓存:ZB(i,j)=Zmin;for(每一个多边形每一个多边形) 将该多边形进行投影变换;将该多边形进行投影变换;扫描转换该多边形在视平面上的扫描转换该多边形在视平面上的投影多边形投影多边形;for (该多边形所覆盖的每个象素该多边形所覆盖的每个象

20、素(i,j) ) 计算该多边形在该象素的深度值计算该多边形在该象素的深度值Zi,j;if( Zi,j ZB(i,j)) ZB(i,j) Zi,j;计算该多边形在该象素的颜色值计算该多边形在该象素的颜色值Ci,j;CB(i,j)= Ci,j; 注:对投影多边形进行裁剪得到有效区域,可加快显示速度注:对投影多边形进行裁剪得到有效区域,可加快显示速度 Z-Buffer算法在象素级上以近物取代远物。形体算法在象素级上以近物取代远物。形体在屏幕上的出现顺序是无关紧要的。这种取代方法实在屏幕上的出现顺序是无关紧要的。这种取代方法实现起来远比总体排序灵活简单,有利于硬件实现。现起来远比总体排序灵活简单,有利

21、于硬件实现。 然而然而Z-Buffer算法存在缺点:占用空间大,没有算法存在缺点:占用空间大,没有利用图形的相关性与连续性。利用图形的相关性与连续性。 Z-Buffer算法以算法简算法以算法简单著称,但也以占空间大而闻名。单著称,但也以占空间大而闻名。 Z-Buffer算法需要开一个与图象大小相等的缓存算法需要开一个与图象大小相等的缓存数组数组ZB,可一次性显示。,可一次性显示。 当然,也可只用一个深度缓存变量当然,也可只用一个深度缓存变量zb,但需逐点,但需逐点计算显示,显示效率低下。计算显示,显示效率低下。 B)扫描线扫描线Z-buffer算法算法 如何如何减少减少Z-Buffer的缓冲内

22、存的缓冲内存,并,并利用相关性利用相关性提高点提高点与多边形的包含性测试和深度计算速度,就得到与多边形的包含性测试和深度计算速度,就得到扫描线扫描线Z-Buffer算法算法。 从最上扫描线开始向下对每条扫描线作处理。对每条从最上扫描线开始向下对每条扫描线作处理。对每条扫描线来说,把相应的帧缓冲器单元置成底色,在扫描线来说,把相应的帧缓冲器单元置成底色,在z缓冲缓冲器中存放器中存放z的极小值。的极小值。 与与Z-Buffer算法相比,扫描线算法相比,扫描线Z-Buffer将整个绘图窗口将整个绘图窗口内的消隐问题分解到一条条扫描线上解决,使所需的内的消隐问题分解到一条条扫描线上解决,使所需的Z缓缓

23、冲器大大减少。冲器大大减少。 对对每个多边形检查它在每个多边形检查它在oxy平面上的投影平面上的投影和当前扫描线是否相交和当前扫描线是否相交(如右上图),若不相(如右上图),若不相交则跳过该多边形;交则跳过该多边形; 若相交则扫描线和多边形边界交点一定成若相交则扫描线和多边形边界交点一定成对出现,对出现,对每对交点间的象素计算多边形所在对每对交点间的象素计算多边形所在平面对应点的深度平面对应点的深度(即即 z 值值),并和,并和z缓冲器中相缓冲器中相应深度值比较。应深度值比较。 对所有多边形和帧缓冲器每一行都作上述对所有多边形和帧缓冲器每一行都作上述处理。利用处理。利用多边形多边形Y桶桶分类、

24、分类、活化边表活化边表处理相处理相邻扫描线和象素的连贯性,提高算法效率。邻扫描线和象素的连贯性,提高算法效率。交线交线C) 区间扫描线算法区间扫描线算法 扫描线扫描线z缓冲器算法将消隐问题分缓冲器算法将消隐问题分散到每一条扫描线上去解决,这样问散到每一条扫描线上去解决,这样问题变得较简单了。但题变得较简单了。但在每个象素处计在每个象素处计算多边形算多边形z值的工作量仍是很大值的工作量仍是很大。 实际上实际上每条扫描线被各多边形边界每条扫描线被各多边形边界在在oxy平面上的投影分割成为数不多的平面上的投影分割成为数不多的区间区间(如右图),每一个区间上只显(如右图),每一个区间上只显示一个面。示

25、一个面。 因此,因此,只要在区间上任一点处,只要在区间上任一点处,找出在该处找出在该处z值最大的一个面值最大的一个面,这个区,这个区间上的每个象素就用这个面的颜色来间上的每个象素就用这个面的颜色来显示。这就是所谓显示。这就是所谓区间扫描线算法区间扫描线算法。 区间扫描线算法使得在一条扫区间扫描线算法使得在一条扫描线上描线上每个区间只计算一次深度值,每个区间只计算一次深度值,不需要不需要Z缓冲器缓冲器。 它是把当前扫描线与各它是把当前扫描线与各多边形多边形在投影平面的投影的交点进行排序在投影平面的投影的交点进行排序后,使后,使扫描线分为若干子区间扫描线分为若干子区间。 因此,只要因此,只要在该区

26、间任一点处在该区间任一点处找出在该处找出在该处 z 值最大的一个面值最大的一个面,这,这个区间上的每一个象素就用这个面个区间上的每一个象素就用这个面的颜色来显示。的颜色来显示。 当然,现在计算机的硬件发展很快,缓存数组当然,现在计算机的硬件发展很快,缓存数组所耗空间已不是障碍。所耗空间已不是障碍。PhongPhong模型的区间扫描线绘制算法示例模型的区间扫描线绘制算法示例 10. 三维形体的真实感显示 1. 1. 简单效果的浓淡图生成简单效果的浓淡图生成2. 2. 一般性效果图形生成一般性效果图形生成3. 3. 真实感效果图生成真实感效果图生成 1) 1) 全局关照模型全局关照模型 2) 2)

27、 光线跟踪光线跟踪 3) 3) 辐射度算法辐射度算法4. 4. 纹理映射纹理映射1 1)整体光照明模型及真实感显示)整体光照明模型及真实感显示 简单光简单光照明模型和照明模型和局部光局部光照明模型,虽然可以产生物体的真照明模型,虽然可以产生物体的真实感图象,但它们都只是处理光源直接照射物体表面的光强计算,实感图象,但它们都只是处理光源直接照射物体表面的光强计算,不能很好的模拟光的折射、反射和阴影等,也不能用来表示物体不能很好的模拟光的折射、反射和阴影等,也不能用来表示物体间的相互光照明影响。间的相互光照明影响。 而基于简单光照明模型的光透射模型,虽然可以模拟光的折而基于简单光照明模型的光透射模

28、型,虽然可以模拟光的折射,但是这种折射的计算范围很小,不能很好的模拟多个透明体射,但是这种折射的计算范围很小,不能很好的模拟多个透明体之间的复杂光照明现象。之间的复杂光照明现象。 对于上述的这些问题,就必须要有一个更精确的光照明模型。对于上述的这些问题,就必须要有一个更精确的光照明模型。整体光照明模型就是这样的一种模型,它是相对于局部光照明模整体光照明模型就是这样的一种模型,它是相对于局部光照明模型而言的。在现有的整体光照明模型中,主要有型而言的。在现有的整体光照明模型中,主要有光线跟踪光线跟踪和和辐射辐射度度两种绘制方法。两种绘制方法。 2 2)光线跟踪算法的基本思想)光线跟踪算法的基本思想

29、 光线跟踪算法是真实感图形学中的主要算法之一,算法具有原光线跟踪算法是真实感图形学中的主要算法之一,算法具有原理简单、实现方便和能够生成各种逼真的视觉效果等优点。理简单、实现方便和能够生成各种逼真的视觉效果等优点。 在真实感图形学对光线跟踪算法的研究中,在真实感图形学对光线跟踪算法的研究中,Whitted提出了第提出了第一个整体光照模型,并给出一般性光线跟踪算法的范例,综合考虑一个整体光照模型,并给出一般性光线跟踪算法的范例,综合考虑了光的反射、折射透射、阴影等。了光的反射、折射透射、阴影等。 光线跟综过程示意图 简单光透射模型把透射光分为理想漫透射和规则透射。简单光透射模型把透射光分为理想漫

30、透射和规则透射。 由光源发出的光称为由光源发出的光称为直接光直接光,物体对直接光的反射或折射,物体对直接光的反射或折射称为称为直接反射直接反射和和直接折射直接折射。 把物体表面间对光的反射和折射称为把物体表面间对光的反射和折射称为间接光间接光,间接反射,间接反射,间接折射。间接折射。这是光线在物体间的传播方式,是光线跟踪算法的这是光线在物体间的传播方式,是光线跟踪算法的基础。基础。 由光源发出的光到达物由光源发出的光到达物体表面后,产生反射和折射,体表面后,产生反射和折射,简单光照明模型和光透射模简单光照明模型和光透射模型模拟了这两种现象。型模拟了这两种现象。 在简单光照明模型中,在简单光照明

31、模型中,反射被分为反射被分为理想漫反射和镜理想漫反射和镜面反射光面反射光。 最基本的光线跟踪算法是跟踪镜面反射和折射最基本的光线跟踪算法是跟踪镜面反射和折射。 从光源发出的光遇到物体的表面,发生反射和折射,光就改变从光源发出的光遇到物体的表面,发生反射和折射,光就改变方向,沿着反射方向和折射方向继续前进,直到遇到新的物体。方向,沿着反射方向和折射方向继续前进,直到遇到新的物体。 但是光源发出光线,经反射与折射,只有很少部分可以进入人但是光源发出光线,经反射与折射,只有很少部分可以进入人的眼睛。的眼睛。 因此实际光线跟踪算法的跟因此实际光线跟踪算法的跟踪方向与光传播的方向是相反的,踪方向与光传播

32、的方向是相反的,而是视线跟踪。而是视线跟踪。 由视点与象素由视点与象素(x,y)发出一发出一根射线,与第一个物体相交后,根射线,与第一个物体相交后,在其反射与折射方向上进行跟踪,在其反射与折射方向上进行跟踪,如图所示。如图所示。 此时,光线在离视点最近的景物表面交点处的走向有以下三此时,光线在离视点最近的景物表面交点处的走向有以下三种可能:种可能: 1) 当前交点所在的景物表面为理想漫射面。跟踪结束。当前交点所在的景物表面为理想漫射面。跟踪结束。 2) 当前所在的景物表面为理想镜面光线沿其镜面反射方向当前所在的景物表面为理想镜面光线沿其镜面反射方向继续跟踪。继续跟踪。 3) 当前交点所在的景物

33、表面为规则透射面光线沿其规则透当前交点所在的景物表面为规则透射面光线沿其规则透射方向继续跟踪。射方向继续跟踪。 显然,上述过程是一递归跟踪过程。显然,上述过程是一递归跟踪过程。对每一根穿过屏幕象素中心的光线的跟踪对每一根穿过屏幕象素中心的光线的跟踪构成了一棵二义树。构成了一棵二义树。 虽然光线在景物间的反射和折射可以虽然光线在景物间的反射和折射可以无限地进行下,但在实际计算时不可能做无限地进行下,但在实际计算时不可能做无休止的光线跟踪,因而需要给出光线跟无休止的光线跟踪,因而需要给出光线跟踪的终判条件。如设定跟踪层数,光亮度踪的终判条件。如设定跟踪层数,光亮度小于给定值等条件。小于给定值等条件

34、。3 3)辐射度方法)辐射度方法 辐射度方法是继光线跟踪算法后,真实感图形绘制技术辐射度方法是继光线跟踪算法后,真实感图形绘制技术的一个重要进展。的一个重要进展。 光线跟踪算法成功地模拟了景物表面间的镜面反射、规光线跟踪算法成功地模拟了景物表面间的镜面反射、规则透射及阴影等整体光照效果。则透射及阴影等整体光照效果。 由于光线跟踪算法的采样特性和局部光照模型的不完善由于光线跟踪算法的采样特性和局部光照模型的不完善性,该方法难于模拟景物表面之间的多重漫反射效果,因而性,该方法难于模拟景物表面之间的多重漫反射效果,因而不能反映色彩渗透现象。不能反映色彩渗透现象。 将热辐射工程中的辐射度方法引入到计算

35、机图形学中,将热辐射工程中的辐射度方法引入到计算机图形学中,用辐射度方法成功地模拟了理想漫反射表面间的多重漫反射用辐射度方法成功地模拟了理想漫反射表面间的多重漫反射效果。效果。 经过十多年的发展,辐射度方法模拟的场景越来越复杂,经过十多年的发展,辐射度方法模拟的场景越来越复杂,图形效果越来越真实。图形效果越来越真实。 与前面介绍的光照模型与绘制方法有所不同,与前面介绍的光照模型与绘制方法有所不同,辐射度方法基于物理学的能量平衡原理,它采用数辐射度方法基于物理学的能量平衡原理,它采用数值求解技术来近似每一个景物表面的辐射度分布。值求解技术来近似每一个景物表面的辐射度分布。 在图形绘制场景中,景物

36、表面的辐射度分布与视点选取无关,辐射度方法是一个视点独立(View Independent)的算法。 由于其视点无关性,使之可广泛应用于虚拟环境的漫游(walk-through)系统中。 10. 三维形体的真实感显示 1. 1. 简单效果的浓淡图生成简单效果的浓淡图生成2. 2. 一般性效果图形生成一般性效果图形生成3. 3. 真实感效果图生成真实感效果图生成 1) 1) 全局关照模型全局关照模型 2) 2) 光线跟踪光线跟踪 3) 3) 辐射度算法辐射度算法4. 4. 纹理映射纹理映射二维纹理映射实质上是从二维纹理平面到三二维纹理映射实质上是从二维纹理平面到三维景物表面的一个映射维景物表面的

37、一个映射(如右图如右图)。 通常,二维纹理在一个纹理空间(通常,二维纹理在一个纹理空间(s,t)坐标)坐标系内的矩形区域中用光强度值来定义,其中每一系内的矩形区域中用光强度值来定义,其中每一点处,均定义有一灰度值或颜色值。点处,均定义有一灰度值或颜色值。 而场景中的物体表面则在景物空间(而场景中的物体表面则在景物空间(u,v)坐标系中定义的,投影平面上的象素点是在图象坐标系中定义的,投影平面上的象素点是在图象空间内的直角坐标系空间内的直角坐标系xoy中定义的。中定义的。1 1)二维纹理映射)二维纹理映射在绘制时,应用纹理映射方法可以方便地确定景物表面在绘制时,应用纹理映射方法可以方便地确定景物表面上任一可见点上任一可

温馨提示

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

评论

0/150

提交评论