真实感图形绘制技术课件

上传人:痛*** 文档编号:241620073 上传时间:2024-07-10 格式:PPT 页数:55 大小:3.64MB
返回 下载 相关 举报
真实感图形绘制技术课件_第1页
第1页 / 共55页
真实感图形绘制技术课件_第2页
第2页 / 共55页
真实感图形绘制技术课件_第3页
第3页 / 共55页
点击查看更多>>
资源描述
真真实感感图形形绘制技制技术主要内容消隐技术光照模型透明处理阴影绘制纹理映射(一)消隐技术通常,我们看一个3D物体,是不能一眼看到其全部表面的,只能看到该物体表面上的部分点、线、面,而其余部分则被这些可见部分遮挡住。如果观察的是多个3D物体,则物体之间还可能彼此遮挡而部分不可见。因此,如果想有真实感地显示3D物体,必须在视点确定后,将对象表面上不可见的点、线、面消将对象表面上不可见的点、线、面消去去。执行这一功能的算法,称为消隐算法消隐算法。(一)消隐技术三维网格模型将三维物体的表面分解为一组空间多边形,消隐算法就是研究多边形之间的遮挡关系。按操作对象的不同,可分为两大类:对象空间方法(Object Space Methods)图像空间方法(Image Space Methods)。(一)消隐技术对象空间法对象空间:三维场景的描述空间对象空间法:在物体描述空间中,根据物体的几何关系计算物体的哪些部分可见,其目的是消去那些不可见的面或面的不可见部分例如:以空间中的三维平面作为分析对象,通过比较各平面的参数来确定它们的可见性 表优先级算法、BSP算法、Weiler-Atherton算法(一)消隐技术图像空间法图像空间:对象投影后所在的二维空间图像空间法:是将对象投影后分解为像素,按一定的规律,比较像素之间的深度值,从而确定其是否可见Z-buffer算法几乎所有的消隐算法都涉及到排序问题。消隐算法的基本思想是将物体上所有的点、线、面,按照距视点的远近进行排序。一般来说,离视点较远的物体,就有可能被离视点较近的物体完全或部分遮盖。消隐算法的效率在很大程度上取决于排序的效率(一)消隐技术表优先级算法(画家算法)1.将屏幕置成背景色2.构造物体组成面的深度优先级表:把物体的各个面按其离视点的远近进行排序,离视点远的在表头,离视点近的在表尾3.由远到近进行绘制:从表头至表尾逐个取出多边形,投影到屏幕上,显示多边形所包含的实心区域。由后显示的图形取代先显示的画面,而后显示的图形所代表的面离视点更近,所以,由远及近地绘制各面就相当于消除隐藏面。这与油画家作画的过程类似,先画远景,再画中景,最后画近景,因此将这种算法称为画家算法。(一)消隐技术表优先级算法(画家算法)优点:简单、易于实现,并且可以作为实现更为复杂算法的基础缺点:只能处理互不相交的面,而且深度优先级表中的顺序可能出错只能把有关的面进行分割后再排序。增加了算法的复杂度,因此,该算法使用具有一定的局限性边界表示正确投影画家算法之先A后B画家算法之先 B后A(一)消隐技术BSP算法(Binary Space Partition)设置视点位置选取空间中某一平面对场景中的组成平面进行二值状态分离,根据视点位置,位于分割平面前的组成面设置状态为前(Front),位于分割平面后的组成面设置状态为后(Back)。对于与分割面相交的组成面,将其分成独立的两部分。继续选取分割平面对之前的分离结果进行更细致的分离,直至每个子区域只有一个组成面或包含的组成面容易进行深度比较为止最终形成一个二值状态的二叉树ABC视点P1P1DA,BD,CFrontBackP2P1P2P2ABCDFrontBackFrontFrontBackBack(一)消隐技术BSP算法(Binary Space Partition)是一种决定场景可见性的有效方法与画家算法类似,也是从远到近往屏幕覆盖画面元素适合在场景不变,视点变化的场合中对景物表面做快速排序ABC视点1P1DP2P1P2P2ABCDFrontBackFrontFrontBackBack视点3视点2视点4P1P2P2ABCDFrontBackFrontFrontBackBackP1P2P2ABCDFrontBackFrontFrontBackBack(一)消隐技术Weiler-Atherton算法可见多边形裁剪以位于最前面的景物表面为裁剪窗口,对后面的景物进行裁剪,位于裁剪窗口之内的表面或表面的被遮挡部分可以消去。位于窗口之外的表面组成外裁剪多边形表,取表中位于最前面的表面为裁剪窗口,继续对其他表面进行裁剪,直至外裁剪结果多边形表为空为止。(一)消隐技术(一)消隐技术Z-buffer算法(图像空间法)算法思想:在图像投影空间中,用近点投影取代远点投影。即对当前处理空间平面投影区域中的某一像素点,比较该像素点的深度值与帧缓存中对应的已有像素点的深度值大小,如果当前像素点的深度值较小,则将当前像素的颜色值写入帧缓存,它的深度值写入深度缓存 Z缓冲区算法又称为深度缓存算法,不仅需要一个帧缓冲区(Frame Buffer)来存放每个像素的亮度值,而且还需要有一个Z缓冲区(Z Buffer)来存放每个像素的深度值,即Z坐标。这正是Z缓冲区算法名称的来历。Z Buffer的大小由屏幕显示分辨率决定优点:Z缓冲区算法排序灵活简单,有利于硬件实现。在Z缓冲区算法中,屏幕上哪个像素点的颜色先计算,哪个后计算,其先后顺序是无关紧要的,不影响消隐结果。因此,该算法不需要预先排队,从而省去了排序时间。目前许多图形工作站都配置硬件实现的Z缓冲器算法,以便于图形的快速生成和实时显示缺点:占用的存储容量大(二)光照模型1819(二)光照模型虚拟场景着色方案:为物体每个表面赋予固定的颜色,无论怎样观察物体其颜色保持不变尽可能模拟光源与彩色表面相互作用的效果计算机图形学中,采用光照模型光照模型来计算景物表面上任一点投向观察者眼中的光亮度的大小和色彩组成,生成具有真实感的图像光照模型:光照模型:用来计算投射到人眼中光亮度大小的数学模型。简单光照模型整体光照模型光源类型点光源无限远点光源局部光源环境光点光源描述:光从空间中一点发出光源在所有方向发出的能量相同模型参数:光源的空间位置(Lx,Ly,Lz)光照强度Ip入射光能量:无限远光源光源位置处于无限远处入射光线平行:平面上任意一点的入射角相同模型参数:光强入射角局部光源用相关角度来模拟定向光束的光照特征模型参数:位置方向光强照射角只有在光源照射范围之内的空间点可以被光照到环境光是指光源间接对物体的影响,是在物体和环境之间多次反射,最终达到平衡时的一种光。我们近似地认为同一环境下的环境光,其光强分布是均匀的,它在任何一个方向上的分布都相同,即在任何位置、任何方向上强度一样,记为Ia在分布均匀的环境光照射下,不同物体表面所呈现的亮度未必相同,因为它们的环境光反射系数不同,环境光反射系数记为Ka。光照明方程(仅含环境光):物体表面所呈现的亮度Ie =KaIa例如,透过厚厚云层的阳光就可以称为环境光。Ka=0.4 Ka=0.8反射模型当光照射到物体表面时,光线可能被吸收、反射和透射。被物体吸收的部分转化为热,反射、透射的光进入视觉系统,使我们能看见物体。目前虚拟光照的研究主要针对物体对入射光的反射模型进行从物体表面反射出来的光取决于光的成分、光源的几何性质、物体表面朝向和表面性质等。由于物体表面反射性质不同,可以将反射模型分为两类:漫反射镜面反射漫反射漫反射光可认为是光穿过物体表面被吸收,然后重新发射出来的光。漫反射光均匀的漫布在各个方向,与观察者位置无关,从各个视角观察都具有相同的亮度。相关因素:光源强度物体朝向物体表面反射系数光照方程:漫反射(Diffuse Reflection)点光源:向周围所有方向发射等强度的光漫反射光是由物体表面的粗糙不平引起的,它均匀地向各个方向传播,与视点无关漫反射光在空间均匀分布,反射光强 I 与入射光的入射角 的余弦成正比,即:其中,Kd 是漫反射系数(01之间的常数),与物体表面性质有关;Ip 是入射光(光源)的光强;是入射光的入射角,即入射光与物体表面法向量之间的夹角。漫反射(续)设物体表面在照射点 P 处的单位法向量为N,P 到点光源的单位向量为L,则上式可表达为如下的向量形式:如果有多个光源,则可以把各个光如果有多个光源,则可以把各个光源的漫反射光照效果进行叠加:源的漫反射光照效果进行叠加:环境光与漫反射光结合方程:例子:镜面反射(Specular Reflection)镜面反射由于表面光滑的物体对入射光的反射形成的对于理想镜面,反射光集中在一个方向,并遵守反射定律。对一般的光滑表面,反射光集中在一个范围内,且由反射定律决定的反射方向光强最大。因此,对于同一点来说,从不同位置所观察到的镜面反射光强是不同的。高光现象:镜面反射光在反射方向附近形成很亮的光斑理想镜面反射反射光与入射光位于表面法向两侧理想反射面而言:入射角反射角观察者只有在反射方向上才能看到反射光非理想镜面反射对一般的光滑表面,反射光集中在一个范围内,由反射定律决定的反射方向光强最大。对于同一点来说,从不同位置所观察到的镜面反射光强是不同的。光照方程:Ks是物体表面镜面反射系数,它与入射角和波长有关;是物体表面镜面反射系数,它与入射角和波长有关;是视线与反射方向的夹角;是视线与反射方向的夹角;n 为镜面高光系数,用来模拟镜面反射光在空间中的汇聚为镜面高光系数,用来模拟镜面反射光在空间中的汇聚程度,它是一个反映物体表面光泽度的常数;程度,它是一个反映物体表面光泽度的常数;n=15 n=5 n=1n 常规取值常规取值 5 52020镜面高光系数镜面高光系数 n的影响效果的影响效果光照效果比较简单光照模型简单光照模型简单光照明模型模拟物体表面对光的反射模拟物体表面对光的反射作用。光源被假定为点光源点光源,反射作用被细分为镜面反射镜面反射(Specular Reflection)和漫反射漫反射(Diffuse Reflection)。模型只考虑物体对直接光照直接光照的反射作用,而物体间的光反射作用,只用环境光环境光(Ambient Light)来表示Phong光照模型由物体表面上由物体表面上点点点点P P反射到视点的光反射到视点的光反射到视点的光反射到视点的光强强I I=环境光环境光的反射光强的反射光强 IeIe+理想漫反射光理想漫反射光理想漫反射光理想漫反射光强强IdId+镜面反射光镜面反射光镜面反射光镜面反射光IsIsPhong光照模型光的衰减 从光源到物体表面过程中的衰减从物体表面到人眼过程中的衰减多个点光源:Phong模型特点分析模型简单,便于实时绘制是一个经验模型,可以达到一定的真实度还具有以下的一些问题用Phong模型显示出的物体像塑料,没有质感像塑料,没有质感环境光是常量,没有考虑物体之间相互的反射光镜面反射的颜色是光源的颜色,与物体的材料无关镜面反射的计算在入射角很大时会产生失真多边形着色方法均匀着色(Flat Shading)光滑着色(Smooth Shading)在每一个多边形的顶点处计算合适的光照明强度或参数,然后在各个多边形内部进行均匀插值,得到多边形的光滑颜色分布Gouraud方法用多边形顶点的颜色进行插值生成中间点的颜色Phong方法对顶点的法向量进行插值计算出中间点的法向量均匀着色(Flat Shading)方法任取多边形上一点,利用光照方程计算出它的颜色用这个颜色填充整个多边形适合于如下情况光源在无穷远处视点在无穷远处多边形是物体表面的精确表示特点优点:每个多边形只需计算一次光照明方程,速度快缺点:相邻多边形颜色过渡不光滑均匀着色实例线框模式线框模式均匀着色均匀着色光滑着色Gouraud 着色方法(颜色插值方法)步骤1、计算多边形的单位法矢量2、计算多边形顶点的单位法矢量(共享顶点的多边形法矢量的平均值)3、利用光照明方程计算顶点颜色4、插值计算离散边上的各点光强5、对多边形顶点颜色进行双线性插值,获得多边形内部各点的颜色计算多边形顶点的单位法矢量Gouraud 着色方法(颜色插值方法)双线性插值已知P1(x1,y1)、P2(x2,y2)、P3(x3,y3),颜色分别为I1、I2和I3。A(xA,yA)和B(xB,yB)为交点,P(x,y)为AB上一点,计算P点的颜色Phong 着色方法(法向插值着色方法)步骤1、计算多边形单位法矢量2、计算多边形顶点单位法矢量3、对多边形顶点法矢量进行双线性插值,获得内部各点的法矢量4、利用光照明方程计算多边形内部各点颜色Gouraud和Phong着色方法比较基于双线性光强插值的Gouraud方法可以有效的显示漫反射曲面,它的计算量小;而基于双线性法向插值的Phong方法与Gouraud 方法相比,可以产生正确的高光区域,但计算量要大的多。整体光照模型照射到物体上的光线,不仅有从光源直接射来的,也有经过其它物体反射或折射来的。局部光照模型只能处理直接光照,为了对环境中物体之间的各种反射、折射光进行精确模拟,需要使用整体光照模型。光线跟踪算法是典型的整体光照模型 光线跟踪过程光线跟踪是一种真实地显示物体的方法,它沿着到达视点的光线的反方向跟踪,经过屏幕上每一个象素,找出与视线相交的物体表面点P1,并继续跟踪,找出影响P1点光强的所有光源,从而算出P1点上精确的光线强度。这一过程可以跟踪物体间的镜面反射光线和规则透射,模拟了理想表面的光的传播 光线跟踪光线跟踪(固定光源)光线跟踪(移动光源)谢谢观赏谢谢观赏
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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