第九讲_消隐课件.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九讲_消隐课件

五. Warnock 算法 缓冲器算法将像素孤立来考虑,未利用相邻像素之间存在的属性的连贯性,即区域的连贯性,所以算法效率不高。 多边形至少覆盖了绘图窗内的一块区域,这块区域由多边形在投影平面上的投影的边界围成。 如果能将这类区域找出来,再用相应的多边形颜色加以填充则避免了在每个像素处计算深度值,消隐问题也就解决了。 算法基本思路: 首先将场景中的多边形投影到绘图窗口内 判断窗口是否足够简单,若是则算法结束; 否则将窗口进一步分为四块。 对此四个小窗口重复上述过程,直到窗口仅为一个像素大小。 此时可能有多个多边形覆盖了该像素,计算它们的深度值,以最近的颜色显示该像素即可。 何谓窗口足够简单? 存在下列情况之一即可称为窗口足够简单: 1)窗口为空,即多边形与窗口的关系是分离的; 2)窗口内仅含一个多边形,即有一个多边形与窗口的关系是包含或相交。此时先对多边形投影进行裁剪,再对裁剪结果进行填充; 3)有一个多边形的投影包围了窗口,并且它是最靠近观察点的,以该多边形颜色填充窗口。 第九讲 消隐 《计算机图形学》 消隐 一.消隐 什么叫做“消隐”?为什么要进行“消隐”? 将三维场景绘制在计算机二维显示屏上必须经过投影变换,投影变换将三维信息变换到二维平面上,这个过程中深度信息被丢失,生成的图形往往具有二义性。 要消除二义性,就必须在绘制时消除被遮挡的不可见的线或面,习惯上称作消除隐藏线和隐藏面,简称为“消隐”。 经过消隐得到的投影图称为物体的真实图形。 通过消隐,也可降低光照、纹理等算法的计算量。 消隐结果与被观察物体有关,也与视点、视方向有关。 消隐 消隐的分类 根据消隐算法实现时所在的坐标系(空间)进行分类 : 图像空间消隐 对象空间消隐 消隐算法 背面剔除算法 画家算法 BSP树算法 深度缓冲器算法 Warnock 算法 消隐 一.背面消隐算法 利用视线方向V和物体表面法向N之间的关系 N?V0:不可见 N?V?0:可见 消隐 背面剔除适用于凸多面体,不适用于凹多面体或其它复杂物体 适用于场景消隐的预处理:消除一些显然不可见表面,从而提高其它消隐算法的效率 被遮档物体 背面 视域四棱锥 被裁剪的物体 二.画家算法 在景物空间确定物体之间的可见性顺序(物体离视点远近),由远及近地绘制出正确的图像结果——画家算法 画家的作画顺序暗示出所画物体之间的相互遮挡关系。 将场景中的多边形序列按其z坐标的最小值zmin (物体上离视点最远的点)进行排序 z x P Q Pzmax Qzmin 物体间的z值范围不重叠 2.当物体间 的z值范围不重叠时:假设多边形P的zmin在上述排序中最小,如果多边形P的z值范围与Q的z值范围不重叠,即Pzmax Qzmin,此时可以断定多边形P的优先级最低 3.当物体间的z值范围重叠时: 进一步判断多边形P是否遮挡场景中多边形Q z x P Q 物体间的z值范围重叠 作如下5个判别步骤 多边形P和Q的x坐标范围是否不重叠 多边形P和Q的y坐标范围是否不重叠 从视点看去,多边形P是否完全位于Q的背面 从视点看去,多边形Q是否完全位于P的正面 多边形P和Q在xy平面上的投影是否不重叠 1. 多边形P和多边形Q的x坐标范围不重叠 z x P Q y x P Q 2. 多边形P和多边形Q的y坐标范围不重叠 z x P Q 3.从视点看去,多边形P完全位于Q的背面 z x P Q 4. 从视点看去,多边形Q完全位于P的正面 y x P Q 5. 多边形P和Q在xy平面上的投影不重叠 如果上述五种情况中只要有一种成立,就表明多边形P和Q是互不遮挡的,即多边形P的绘制优先级低于Q 如果上述判断都不成立,说明多边形P有可能遮挡Q,此时把多边形P和Q进行互换重新进行判断 P和Q交换顺序后,仍不能判断其优先级顺序, 解决办法: 沿多边形所在平面间的交线循环分割这些多边形,至最后可完全确定其优先级表。 多边形循环遮挡 多边形相互穿透 三.BSP树算法 基本原理: 与画家算法类似,优先绘制后面的多边形 使用BSP树对场景中的对象进行排序 1. 构建场景的BSP树 依据当前视点所在位置,对场景中的每个分割面所生成的两个子空间进行分类 包含视点的标为Front,后面的标为Back 被分割面穿过的物体,被划分成两个部分,例如: 上图中的C物体被分割面P1划分成C,B两部分 front back front back back front 2 . 遍历BSP树,优先绘制标为Back的区域; front back front back back front 绘制的顺序:D C B A 四. 深度缓冲

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档