真实感图形生成.ppt

上传人:小飞机 文档编号:5292279 上传时间:2023-06-23 格式:PPT 页数:65 大小:1.74MB
返回 下载 相关 举报
真实感图形生成.ppt_第1页
第1页 / 共65页
真实感图形生成.ppt_第2页
第2页 / 共65页
真实感图形生成.ppt_第3页
第3页 / 共65页
真实感图形生成.ppt_第4页
第4页 / 共65页
真实感图形生成.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《真实感图形生成.ppt》由会员分享,可在线阅读,更多相关《真实感图形生成.ppt(65页珍藏版)》请在三一办公上搜索。

1、计算机图形学高级话题-,真实感图形生成,讲授主要内容:,引言消隐真实感图形的绘制实时真实感图形学技术总结,引言,对于场景中的物体、要得到它的真实感图形,就要对它进行透视投影,并消除隐藏面,然后计算可见面的光照明暗效果,最后在计算机中绘制出让观察者有身临其境感觉的图形.,真实感图形的绘制步骤,1.场景造型采用数学方法建立三维场景的几何描述并输入到计算机。2.视域裁剪、消除隐藏面确定景物中的所有可见面,将视域之外或其它景物遮挡的不可见面消除。3.取景变换、透视投影将三维几何描述转换为二维透视图的内容。4.绘制真实感图形根据一定的光照模型和光强度计算,将其转换为适合图形设备的颜色值,生成投影画面上每

2、个像素的光强度,让观察者产生身临其境的感觉。,消隐,消隐的概念消隐算法分类消隐算法深度缓存器算法区间扫描线算法深度排序算法区域细分算法光线投射算法BSP树算法多边形区域排序算法,消隐的概念,用计算机生成三维物体的真实图形,在用显示设备描述物体的图形时,必须把三维信息经过某种投影变换,在二维的显示表面上绘制出来。由于投影变换失去了深度信息,往往导致图形的二义性。要消除二义性,就必须在绘制时消除被遮挡的不可见的线或面,习惯上称作消除隐藏线和隐藏面,或简称为消隐。消隐实例,消隐实例,物体的线框图 经消隐处理后的图形,消隐算法分类,按其实现方式分为:图像空间消隐算法图像空间(屏幕坐标系)消隐算法以屏幕

3、像素为采样单位,确定投影于每一个像素的可见景物表面区域,并将其颜色作为该像素的显示颜色。如深度缓冲器算法、A缓冲器算法、区间扫描线算法等。景物空间消隐算法直接在景物(观察坐标系)中确定视点不可见的表面区域,并将它们表达成同原表面一致的数据结构。如BSP算法、多边形区域排序算法等。介于二者之间的算法,如深度排序算法、区域细分算法、光线投射算法等。,排序:各景物表面按照距离视点远近排序,排序结果用于确定消隐对象之间的遮挡关系。连贯性:连贯性是指所考察的物体或视区内的图像局部保持不变的一种性质,用于提高排序效率。,基本的原则,9.1 深度缓存器算法(Z-buffer),基本原理帧缓存:保存各像素点的

4、颜色。Z缓存:保存屏幕坐标系上各像素点所对应的深度值。,深度缓存器算法(Z-buffer),图9.1 深度缓存器算法的原理,观察方向:Z轴负向,深度缓存器算法(Z-buffer),算法步骤初始化:把Z缓存中各(x,y)单元置为z的最小值,而帧缓存各(x,y)单元置为背景色。在把物体表面相应的多边形扫描转换成帧缓存中的信息时,对于多边形内的每一采样点(x,y)进行处理:计算采样点(x,y)的深度z(x,y);如z(x,y)大于Z缓存中在(x,y)处的值,则把z(x,y)存入Z缓存中的(x,y)处,再把多边形在z(x,y)处的颜色值存入帧缓存的(x,y)地址中。,如何计算采样点(x,y)的深度z(

5、x,y)。假定多边形的平面方程为:Ax+By+Cz+D=0。,深度缓存器算法(Z-buffer),图9.2 利用扫描线的连贯性加快深度的计算,深度缓存器算法(Z-buffer),扫描线上所有后继点的深度值:当处理下一条扫描线y=y-1时,该扫描线上与多边形相交的最左边(x最小)交点的x值可以利用上一条扫描线上的最左边的x值计算:,深度缓存器算法(Z-buffer),扫描线深度缓存器算法:增加多边形表,深度缓存器算法(Z-buffer),优点简单便于硬件实现缺点占用太多的存储单元在实现反走样、透明和半透明等效果方面有困难,深度缓存器算法(Z-buffer),避免对被遮挡区域的采样是进一步提高扫描

6、线算法计算效率的关键。,图9.3 区间扫描线算法原理,9.2 区间扫描线算法,算法三张表:边表、多边形表、有效边表。分割子区间,确定子区间上的唯一可见面。,图9.4 扫描线子区间,区间扫描线算法,特殊情形贯穿情形:为了使算法能处理互相贯穿的多边形,扫描线上的分割点不仅应包含各多边形的边与扫描线的交点,而且应包含这些贯穿边界与扫描线的交点。循环遮挡:将多边形进行划分以消除循环遮挡。,区间扫描线算法,图9.5 多边形贯穿和循环遮挡的情形,算法原理:算法约定距视点近的优先级高,距视点远的优先级低。生成图像时,优先级低的多边形先画,优先级高的多边形后画。这样,后画的多边形就会将先画的多边形遮挡住,从而

7、达到消隐的效果。算法的关键是多边形排序。,9.3 深度排序算法(画家算法),算法原理:考察投影平面上的一块区域,如果可以很“容易”地判断覆盖该区域中的哪个或哪些多边形是可见的,则可按这些多边形的光照属性和几何位置计算确定子区域内各像素的显示颜色;否则就将这块区域细分为若干较小的区域,并把上述推断原则递归地应用到每个较小的区域中去。,9.4 区域细分算法,多边形的分类,图9.6 多边形的投影与考察区域之间的关系,区域细分算法,可见性测试1、所有多边形均是该区域的分离多边形,于是可直接将该区域中的所有像素点置为背景颜色。2、针对该区域,仅存在一个相交多边形,或仅存在一个被包含多边形,或仅存在一个围

8、绕多边形。则可先将该区域中的所有像素点置为背景颜色,再将相应多边形的颜色值填入对应像素点的帧缓存中。3、针对该区域,有多于一个的相交多边形、被包含多边形或围绕多边形,则计算所有围绕的、相交的、以及被包含的多边形在该区域4个顶点处的z坐标,如果存在一个围绕多边形,它的4个z坐标比其它任何多边性的z坐标都大(最靠近视点),那么,可将该区域中的所有像素点置为该多边形的颜色值。,9.4 区域细分算法,图9.7 满足测试条件3的两个例子,9.4 区域细分算法,算法原理,图9.8 光线投射算法,9.5 光线投射算法,算法步骤通过视点和投影平面(显示屏幕)上的所有像素点作一入射线,形成投影线。将任一投影线与

9、场景中的所有多边形求交。若有交点,则将所有交点按z值的大小进行排序,取出最近交点所属多边形的颜色;若没有交点,则取出背景的颜色。将该射线穿过的像素点置为取出的颜色。,光线投射算法,BSP(Binary Space Partition)算法原理,图9.9 BSP树算法原理,9.6 BSP树算法,算法原理 将多边形按深度值由小到大排序,用前面的可见多边形去切割位于其后的多边形,使得最终每一个多边形要么是完全可见的,要么是完全不可见的。,9.7 多边形区域排序算法,基本概念,光照模型(Illumination model),也称明暗模型,主要用于物体表面某点处的光强度计算。简单的光照模型复杂的光照模

10、型光强(度):描述物体表面朝某方向辐射光的颜色,它既能表示光能大小又能表示其色彩组成的物理量。,光照模型的分类,简单的光照模型:仅考虑光源照射在物体表面产生的反射光,并且常假设物体表面是光滑的,所以生成的图形可以模拟出不透明物体表面的明暗过渡,具有一定的真实感。复杂的光照模型:除了考虑反射光外,还要考虑透明度、光源的位置和个数等,这种光照模型被称为整体光照模型,它能模拟出镜面影像、透明等光照效果,可以绘制更接近自然景物的图形。,简单的光照模型与复杂光照模型的比较,简单光照模型绘制效果 复杂光照模型绘制效果,简单光照模型中只考虑反射光的作用。反射光由环境光、漫反射光和镜面反射光三部分组成。,简单

11、的光照模型,特点:照射在物体上的光来自周围各个方向,又均匀地向各个方向反射。P点对环境光的反射强度为,图1 环境光的反射,环境光(Background Light),一个粗糙的、无光泽的表面呈现为漫反射。特点:光源来自一个方向,反射光均匀地射向各个方向。由Lambert余弦定理可得点P处漫反射光的强度为:若L和N都已规范化为单位矢量,则有,图2 漫反射,漫反射光(Diffuse Reflection),对于彩色,对于多个漫反射光源,漫反射光(Diffuse Reflection),镜面反射遵循反射定律,入射光和反射光分别位于表面法向的两侧。如果观察者正好处在P点的镜面反射方向上,就会看到一个比

12、周围亮得多的高光点。,图3 镜面反射,镜面反射光(specular reflection),镜面反射情况由Phong模型给出:,图3 镜面反射,若R和V已规范化为单位矢量,则:,镜面反射光,从视点观察到物体上任一点P处的光强度I应为环境光反射光强度Ie、漫反射光强度Id以及镜面反射光的光强度Is的总和:多个点光源,物体表面光强计算,光在传播的过程中,其能量会发生衰减。光照模型中必须考虑光强衰减,否则会影响生成图形的真实效果。光强的衰减可以采用常数衰减、一次函数衰减和二次函数衰减等。常用的二次衰减函数,光强衰减,选择颜色模型(color model)面向硬件的颜色模型:RGB、CMY面向视觉感知

13、的颜色模型:HSI为颜色分量指定光照模型,颜色,以RGB颜色模型为例环境光强度:入射光强度:环境光反射系数:漫反射系数:镜面反射系数:,颜色,光强计算公式:,颜色,恒定光强Gouraud明暗处理Phong明暗处理,10.2 基于简单光照模型的多边形绘制,只用一种颜色绘制整个多边形的前提条件光源在无穷远处,则多边形上所有点的LN为常数,衰减函数也是一个常数。视点在无穷远处,则多边形上所有点的VR为常数。多边形是景物表面的精确表示,即不是一个含曲线面景物的近似表示。缺点:相邻多边形法矢量不同,造成不连续。,恒定光强,Gouraud明暗处理方法,又称为亮度插值明暗处理,它通过对多边形顶点颜色进行线性

14、插值来绘制其内部各点,其步骤为:计算每个多边形顶点处的平均单位法矢量;对每个顶点根据恒定光强模型来计算其光强;在多边形表面上将顶点强度进行线性插值。,Gouraud明暗处理,双线性插值方法,图4 Gouraud 明暗处理的双线性插值,Gouraud明暗处理,Gourand方法光滑处理示例,线框图 恒定光强绘制图 Gourand方法光滑处理后图形,Phong明暗处理方法,又称为法矢量插值明暗处理,它对多边形顶点的法矢量进行插值以产生中间各点的法矢量,其步骤为:计算每个多边形顶点处的平均单位法矢量;用双线性插值方法求得多边形内部各点的法矢量。最后按光照模型确定多边形内部各点的光强。,Phong明暗

15、处理,矢量双线性插值方法,图5 Phong明暗处理的矢量双线性插值,Phong明暗处理,Phong方法光滑处理示例,线框图 恒定光强绘制图 Phong方法光滑处理后图形,明暗处理示例,牛的三角网格模型 用简单光照明模型显示明暗处理后模型显示,10.3 透明处理,图6 透明表面的光强包括反射光和折射光,图7 简单的透明处理(无折射),透明处理,图8 光的折射,透明处理,10.4 产生阴影,阴影是由于物体截断了光线而产生的,所以如果光源位于物体一侧的话,阴影总是位于物体的另一侧,也就是与光源相反的一侧。从理论上来说,从视点以及从光源看过去都是可见的面不会落在阴影中,只有那些从视点看过去是可见的,而

16、从光源看过去是不可见的面,肯定落在阴影之内。,产生阴影,产生具有阴影的图形绘制算法将视点移到光源位置,用多边形区域排序消隐算法,将多边形分成两大类:向光多边形和背光多边形。将视点移到原来的观察位置,对向光多边形和背光多边形进行消隐,并选用一种光照模型计算多边形的亮度,就可得到有阴影效果的图形。,10.5 模拟景物表面细节,颜色纹理:通过颜色色彩或明暗度的变化体现出来的表面细节。几何纹理:由于不规则的细小凹凸造成的。颜色纹理取决于物体表面的光学属性,而几何纹理由物体表面的微观几何形状决定。,用多边形模拟表面细节纹理的定义和映射,10.5 模拟景物表面细节,简单地模拟景物表面细节的方法是用多边形,

17、称为表面图案多边形,来模拟纹理的结构和模式。处理时,首先根据待生成的颜色纹理构造表面图案多边形,然后将表面图案多边形覆盖到物体的表面上。,多边形模拟表面细节,生成颜色纹理的一般方法,是预先定义纹理模式,然后建立物体表面的点与纹理模式的点之间的对应。当物体表面的可见点确定之后,以纹理模式的对应点参与光照模型进行计算,就可把纹理模式附到物体表面上。这种方法称为纹理映射(Texture Mapping)。,纹理映射和定义,上图是纹理映射场景的一个部分,其中墙的砖块纹理和地板的木条纹理都是二维图象。,照片 经纹理映射,光照处理后计算机生成图形,10.6 整体光照模型,一个完整的光照模型应该包括由光源和环境引起的漫反射分量、镜面反射分量、规则透射分量以及漫透射分量等。仅考虑由光源引起的漫反射分量和镜面反射分量,而环境反射分量则简单地用一常数来代替,这类光照模型称为局部光照模型。能同时模拟光源和环境照明效果的光照模型称为整体光照模型。,Whitted光照模型,Whitted在简单光照模型中增加了环境镜面反射光和环境规则透射光,以模拟周围环境的光投射在景物表面上产生的理想镜面反射和规则透射现象。,图11 物体表面的镜面反射和投射,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号