计算机图形学 第9章 深度缓存器算法 电子教案.pptVIP

计算机图形学 第9章 深度缓存器算法 电子教案.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学 第9章 深度缓存器算法 电子教案

华中理工大学计算机学院 陆枫 99-7 1999年7月 第9章 消隐 图象空间消隐算法以屏幕象素为采样单位,确定投影于每一象素的可见景物表面区域,并将其颜色作为该象素的显示颜色。 景物空间消隐算法直接在景物空间(观察坐标系)中确定视点不可见的表面区域,并将它们表达成同原表面一致的数据结构。 图象空间消隐算法:有深度缓冲器算法、A缓冲器算法、区间扫描线算法等。 景物空间消隐算法:BSP算法、多边形区域排序算法。 介于二者之间:深度排序算法、区域细分算法、光线投射算法等。? 两个基本原则:排序、连贯性 选择z轴的负向为观察方向 9.1 深度缓存器算法(Z-buffer算法) Z-buffer算法的原理: 例如:? ? 两块缓冲区: Z缓存:保存屏幕坐标系上各象素点所对应的深度值 帧缓存:保存各点的颜色。 ? Z-buffer算法的步骤如下: 1.初始化:把Z缓存中各(x,y)单元置为z的最小值,而帧缓存各(x,y)单元置为背景色。 2.在把物体表面相应的多边形扫描转换成帧缓存中的信息时,对于多边形内的每一采样点(x,y)进行处理: (1)计算采样点(x,y)的深度z(x,y); (2)如z(x,y)大于Z缓存中在(x,y)处的值,则把z(x,y)存入Z缓存中的(x,y)处,再把多边形在z(x,y)处的颜色值存入帧缓存的(x,y)地址中。 ? 问题:计算采样点(x,y)的深度z(x,y)。 假定多边形的平面方程为:Ax+By+Cz+D=0。 ? 利用连贯性加速深度的计算: ? 扫描线上所有后继点的深度值: ? 扫描线深度缓存器算法(扫描线Z-buffer算法) 特点分析:A缓冲器算法 9.2 区间扫描线算法 算法原理:避免对被遮挡区域的采样是进一步提高扫描线算法计算效率的关键 算法: 三张表:边表、多边形表、有效边表。 算法的关键:分割子区间,确定子区间上的唯一可见面。 特殊情形:贯穿情形、循环遮挡情形。 贯穿情形: 为了使算法能处理互相贯穿的多边形,扫描线上的分割点不仅应包含各多边形的边与扫描线的交点,而且应包含这些贯穿边界与扫描线的交点 循环遮挡: 将多边形进行划分以消除循环遮挡? 例如: 9.3 深度排序算法(画家算法) 算法原理:若场景中任何多边形在深度上均不贯穿或循环遮挡,则各多边形的优先级顺序可完全确定。? 深度排序算法: 1.将多边形按深度进行排序:距视点近的优先级高,距视点远的优先级低。 2.由优先级低的多边形开始逐个对多边形进行扫描转换。 其中的关键是将多边形按深度进行排序。 ? 9.4 区域细分算法 算法原理 一种简单的细分方式是将区域分割为四块大小相等的矩形? 可见性测试 自适应细分 9.5 光线投射算法 算法原理: ? 算法步骤可简单描述如下: 1. 通过视点和投影平面(显示屏幕)上的所有象素点作一入射线,形成投影线。 2. 将任一投影线与场景中的所有多边形求交。 3. 若有交点,则将所有交点按z值的大小进行排序,取出最近交点所属多边形的颜色;若没有交点,则取出背景的颜色。 4. 将该射线穿过的象素点置为取出的颜色。 9.6 BSP树算法 算法原理 实例说明? 9.7 多边形区域排序算法 算法思想: 将多边形按深度值由小到大排序,用前面的可见多边形去切割位于其后的多边形,使得最终每一个多边形要么是完全可见的,要么是完全不可见的。? 习题 * * 提出问题 物体的消隐或隐藏线面的消除:在给定视点和视线方向后,决定场景中哪些物体的表面是可见的,哪些是被遮挡不可见的。物体的消隐或隐藏线面的消除。 当处理下一条扫描线y=y-1时,该扫描线上与多边形相交的最左边(x最小)交点的x值可以利用上一条扫描线上的最左边的x值计算: ** **

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档