网站大量收购闲置独家精品文档,联系QQ:2885784924

[农学]第九章:消隐.ppt

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

第九章:消 隐 合肥工业大学,计算机与信息学院 导 论 导 论 消隐算法 深度缓存器算法 区间扫描线算法 深度排序算法 区域细分算法 光线投射法 BSP算法 多边形区域排序算法 深度缓存器算法 基本过程: 将点P(x, y, z)投影到像素(x,y) 根据P的颜色设置像素(x,y)的颜色 问题: 多个点P1,P2等投影到同一个像素 深度缓存器算法 深度缓存器算法 初始化:把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(x,y) 利用连贯性加速深度值的计算 扫描线上后继点的深度值 下一条扫描线 深度缓存器算法 优点: 简 单 便于硬件实现 缺点: 占用太多内存 在实现反走样、透明、半透明效果困难 消隐算法 深度缓存器算法 区间扫描线算法 深度排序算法 区域细分算法 BSP算法 光线投射法 多边形区域排序算法 区间扫描线算法 避免对被遮挡区域的采样---以提高扫描线算法的计算效率 区间扫描线算法 区间扫描线算法 贯穿情形 区间扫描线算法 循环遮挡 消隐算法 深度缓存器算法 区间扫描线算法 深度排序算法 区域细分算法 光线投射法 BSP算法 多边形区域排序算法 深度排序算法 和视点相关 多边形之间不能: 相贯 循环遮挡 深度排序算法 将多边形按深度进行排序:距视点近的优先级高,距视点远的优先级低 由优先级低的多边形开始逐个对多边形进行扫描转换 深度排序算法 介于景物空间消隐算法和图像空间消隐算法之间的算法: 排序:景物空间 消隐:图像空间 特点:适合用于透明、半透明处理!! 消隐算法 深度缓存器算法 区间扫描线算法 深度排序算法 区域细分算法 光线投射法 BSP算法 多边形区域排序算法 区域细分算法 考察投影平面上的一块区域 如果可以很“容易”地判断覆盖该区域中的哪个或哪些多边形可见,则根据这些多边形处理该区域 否则将该区域分成几个更小的区域,然后处理小的区域 基本原理:越小的区域,越“容易”处理! 关键点: 如何划分更小的区域 如何进行“容易”判断? 多边形与考察区域之间的关系 直接处理的考察区域(不再细分) 所有多边形均是该区域的分离多边形(区域置为背景色) 仅存在一个相交多边形、或一个被包含多边形、或围绕多边形(先将区域置为背景色,再将相应多边形颜色填入对应象素点) 存在多个相交多边形、围绕多边形或被包含多边形,但其中一个围绕多边形位于其他的前面(可将区域中的所有象素点置为围绕多边形的颜色) 消隐算法 深度缓存器算法 区间扫描线算法 深度排序算法 区域细分算法 光线投射法 BSP算法 多边形区域排序算法 光线投射法 光线投射法 通过视点和投影平面(显示屏幕)上的所有像素点作一入射线,形成投影线。 将任一投影线与场景中的所有多边形求交。 若有交点,则将所有交点按z值的大小进行排序,取出最近交点所属多边形的颜色;若没有交点,则取出背景的颜色。 将该射线穿过的象素点置为取出的颜色。 光线投射法 图像空间与景物空间之间的消隐算法 关键问题:加速求交点 利用连贯性 外接矩形 空间分割技术 …… 对包含曲面的场景计算效率高 消隐算法 深度缓存器算法 区间扫描线算法 深度排序算法 区域细分算法 光线投射法 BSP算法 多边形区域排序算法 BSP树消隐算法 基本原理: 与画家算法类似,优先绘制后面的多边形 使用BSP树对场景中的对象进行排序 BSP树 BSP树 构建场景的BSP树 依据当前视点所在位置,对场景中的每个分割面所生成的两个子空间进行分类 前面的标为Front,后面的标为Back 遍历BSP树,优先绘制标为Back的区域; BSP树消隐算法 适合: 场景不变 视点变化 已有硬件支持 消隐算法 深度缓存器算法 区间扫描线算法 深度排序算法 区域细分算法 光线投射法 BSP算法 多边形区域排序算法 多边形排序算法 假设: 如果场景中多边形P1、P2…Pn满足:Pi完全可见或完全不可见; 那么… 如何得到这样的多边形? 裁减… 循环遮挡… 多边形排序算法 将多边形按深度值由小到大排序 用前面的可见多边形去切割位于其后的多边形 使得最终每一个多边形要么是完全可见的,要么是完全不可见的? 小结 * * 正确地绘制每个像素 按正确的顺序绘制多边形 图像空间消隐算法 对象空间消隐算法 帧缓存(颜色) Z 缓存(0~1 深度) 利用相关性! y不变,x从左向右递增 画家

文档评论(0)

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

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

1亿VIP精品文档

相关文档