计算机图形学复习课件第9章.pptVIP

  • 2
  • 0
  • 约1.79千字
  • 约 18页
  • 2018-05-18 发布于河南
  • 举报
计算机图形学复习课件第9章

* 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * 第九章 消隐 基本概念 深度缓存器算法 区间扫描线算法 深度排序算法 * 基本概念 物体的消隐或隐藏线面的消除:在给定视点和视线方向后,决定场景中哪些物体的表面是可见的,哪些是被遮挡不可见的。 * 基本概念 消隐算法按实现方式分类 图像空间消隐算法以屏幕像素为采样单位,确定投影于每一像素的可见景物表面区域,并将其颜色作为该像素的显示颜色。如深度缓冲器算法、A缓冲器算法、区间扫描线算法等。 * 基本概念 景物空间消隐算法直接在景物空间(观察坐标系)中确定视点不可见的表面区域,并将它们表达成同原表面一致的数据结构。如BSP算法、多边形区域排序算法等。 介于二者之间的算法,如深度排序算法、区域细分算法、光线投射算法等。? * 基本概念 基本的原则 排序:各景物表面按照距离视点远近排序的结果,用于确定消隐对象之间的遮挡关系。 连贯性:连贯性是指所考察的物体或视区内的图像局部保持不变的一种性质,用于提高排序效率。 * 9.1 深度缓存器算法( Z-buffer) 基本原理 帧缓存:保存各点的颜色。 Z缓存:保存屏幕坐标系上各象素点所对应的深度值。 * 深度缓存器算法( Z-buffer) 图9.1 深度缓存器算法的原理 * 深度缓存器算法( Z-buffer) 算法步骤 初始化:把Z缓存中各(x,y)单元置为z的最小值,而帧缓存各(x,y)单元置为背景色。 在把物体表面相应的多边形扫描转换成帧缓存中的信息时,对于多边形内的每一采样点(x,y)进行处理: * 深度缓存器算法( Z-buffer) 计算采样点(x,y)的深度z(x,y); 如z(x,y)大于Z缓存中在(x,y)处的值,则把z(x,y)存入Z缓存中的(x,y)处,再把多边形在z(x,y)处的颜色值存入帧缓存的(x,y)地址中。 * 深度缓存器算法( Z-buffer) 如何计算采样点(x,y)的深度z(x,y)。 假定多边形的平面方程为:Ax+By+Cz+D=0。 * 深度缓存器算法( Z-buffer) 扫描线上所有后继点的深度值: 当处理下一条扫描线y=y-1时,该扫描线上与多边形相交的最左边(x最小)交点的x值可以利用上一条扫描线上的最左边的x值计算: * 深度缓存器算法( Z-buffer) 扫描线深度缓存器算法 * 深度缓存器算法( Z-buffer) 优点 简单 便于硬件实现 缺点 占用太多的存储单元 在实现反走样、透明和半透明等效果方面有困难 * 9.2 区间扫描线算法 避免对被遮挡区域的采样是进一步提高扫描线算法计算效率的关键。 图9.3 区间扫描线算法原理 * 区间扫描线算法 算法 三张表:边表、多边形表、有效边表。 分割子区间,确定子区间上的唯一可见面。 图9.4 扫描线子区间 * 区间扫描线算法 特殊情形 贯穿情形:为了使算法能处理互相贯穿的多边形,扫描线上的分割点不仅应包含各多边形的边与扫描线的交点,而且应包含这些贯穿边界与扫描线的交点。 * 区间扫描线算法 循环遮挡:将多边形进行划分以消除循环遮挡。 图9.5 多边形贯穿和循环遮挡的情形 * 9.3 深度排序算法(画家算法) 算法原理:算法约定距视点近的优先级高,距视点远的优先级低。生成图像时,优先级低的多边形先画,优先级高的多边形后画。这样,后画的多边形就会将先画的多边形遮挡住,从而达到消隐的效果。 算法的关键是多边形排序。 * 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * 1999年7月07/16/96 * *## * * Lufeng 计算机图形学

文档评论(0)

1亿VIP精品文档

相关文档