本文概述
它属于列表优先级算法类别。它也称为深度排序算法。在该算法中, 完成了对象可见性的排序。如果按特定顺序反转对象, 则可以得到正确的图像。
对象以增加的顺序排列到z坐标。渲染按z坐标顺序进行。其他物体将使附近的物体模糊。后一个像素将覆盖其他物体的像素。如果两个的z值重叠, 我们可以从Z值确定正确的顺序, 如图(a)所示。
如果z个对象相互重叠(如图(b)所示), 则可以通过拆分对象来保持此正确顺序。
深度排序算法或绘画算法是由Sanell的Newell开发的。之所以称为Painter算法, 是因为帧缓冲区的绘制是以距离的降序进行的。距观察平面的距离。首先绘制距离较远的多边形。
这个概念来自绘画或艺术家的色彩。当绘画绘画时, 首先, 他将使用背景色来绘画整个画布。然后添加更多的距离对象, 例如山脉, 树木。然后, 将后方或前景对象添加到图片中。我们将使用类似的方法。我们将根据z值对曲面进行排序。 z值存储在刷新缓冲区中。
深入执行的步骤
- 根据z坐标对所有多边形进行排序。
- 查找任何歧义, 查找z坐标是否重叠, 必要时拆分多边形。
- 扫描以z坐标的升序转换每个多边形。
绘画算法
步骤1:开始算法
步骤2:按z值对所有多边形进行排序, 首先保持z的最大值。
步骤3:扫描按此顺序转换多边形。测试已应用
- 如图(a)所示, A在Z的尺寸上是否在B的后面并且不重叠?
- 如图中(b)所示, A在z的B后面是否没有, 并且在x或y上没有重叠吗?
- 如果A相对于视平面在Z的B后面和B的整个外面, 如图(c)所示
- 如果A在Z中的B之后, 并且B相对于视平面完全在A内, 如图(d)所示
使用单个重叠多边形的任何测试的成功都可以绘制F。
评论前必须登录!
注册