画家算法

✍ dations ◷ 2025-02-24 11:19:10 #三维计算机图形学,算法

画家算法也叫作优先填充,它是三维计算机图形学中处理可见性问题的一种解决方法。当将三维场景投影到二维平面的时候,需要确定哪些多边形是可见的,哪些是不可见的。

“画家算法”表示头脑简单的画家首先绘制距离较远的场景,然后用绘制距离较近的场景覆盖较远的部分。画家算法首先将场景中的多边形根据深度进行排序,然后按照顺序进行描绘。这种方法通常会将不可见的部分覆盖,这样就可以解决可见性问题。

在有些场合下,画家算法可能无法解决可见性问题。在这个例子中,多边形 A、B、C 互相重叠,我们无法确定哪一个多边形在上面,哪一个在下面,我们也无法确定两个多边形什么时候在三维空间中交叉。在这种情况下必须用一些方法对这些多边形进行切分、排序。1972年提出的Newell算法就是切分类似多边形的一种方法,在计算几何领域人们已经提出了许许多多的解决方法。

一些基本的画家算法实现方法也可能效率很低,因为这将使得系统将可见多边形集合中的每个点都进行渲染,而没有考虑这些多变性在最终场景中可能被其它部分遮挡。这也就是说,对于细致的场景来说,画家算法可能会过度地消耗计算机资源。

人们有时候也使用逆向画家算法进行处理,这种算法首先绘制距离观察者较近的物体,已经进行绘制的部分不再进行其它的绘制过程。在计算机图形系统中,这种方法由于无需根据光照、纹理等参数计算被较近物体遮挡的远处物体的颜色,所以效率非常高。但是,这种方法也有许多与普通画家算法同样的问题。

画家算法的这些缺陷导致了深度缓冲技术的发展,深度缓冲技术可以看作是画家算法的一个发展,它根据逐个像素的信息解决深度冲突的问题,并且抛弃了对于深度渲染顺序的依赖。即使在这样的系统中,有时也使用画家算法的变体。由于深度缓冲实现通常是基于硬件中的固定精度深度缓冲寄存器,因此舍入误差就会带来一些显示问题,即在多边形连接的地方会出现重叠或者间隙。为了避免这种问题,一些图形处理引擎使用了“过度渲染”的方法,即根据画家算法的顺序绘制两个多边形中受影响的边界。这也就是说有些像素如同在画家算法中那样实际上绘制了两次,但是由于图像中只有很少的一部分才做这样的处理,因此对于性能的影响很小。

相关

  • 多脱氧核糖核酸病毒科姬蜂病毒属 茧蜂病毒属多去氧核糖核酸病毒科(英语:Polydnaviridae)病毒以昆虫为宿主,包含2属53种。
  • 费玉清小哥歌坛九官鸟黄帝张志卫费玉污污妖王亭亭(家中小名)费玉清(1955年7月17日-),本名张彦亭,外号“小哥”、“九官鸟”,生于台湾台北市,籍贯安徽安庆桐城,是知名男歌手及综艺节目主持人,
  • 志愿服务志愿者(港澳称为义工,台湾称为志愿工作者),台湾简称志工,是指一种助人、具组织性及基于社会公益责任的参与行为,通常旨在促进善良或改善人类生活质量。其发展可追溯至二次大战后,福
  • 西德广播公司西德广播公司(德语:Westdeutscher Rundfunk)是位于德国科隆的一个公共广播电视公司,也是德国公共广播联盟的九个加盟公司之一。播出地区是北莱茵-威斯特法伦州。
  • 北苏拉威西北苏拉威西省(印度尼西亚语:Sulawesi Utara)位于印度尼西亚中部,由苏拉威西岛北部、桑义赫群岛和塔劳群岛及周边海域组成,首府万鸦老,人口约215万(2006年)。大部分北苏拉威西人信奉
  • 2019冠状病毒病埃塞俄比亚疫情3月3月4月4月过去15日过去15日注释:2019冠状病毒病埃塞俄比亚疫情,介绍在2019新型冠状病毒疫情中,在埃塞俄比亚发生的情况,可能无法涵盖所有及时的事件。2020年3月13日,埃塞俄比
  • 2019冠状病毒病沙特阿拉伯疫情2019冠状病毒病沙特阿拉伯疫情,介绍在2019新型冠状病毒疫情中,在沙特阿拉伯发生的情况。2020年3月2日,2019冠状病毒病疫情扩散至沙特阿拉伯。3月2日, 沙特阿拉伯确诊第一例病例
  • 科学共识科学共识(英文: Scientific consensus)是某个学科领域的科学家群体共同作出的判断、立场及意见。科学共识意味着对某些看法普遍的认同,但不一定是毫无异议的。科学共识通常是透
  • 安德鲁·普斯德安德鲁·富兰克林·“安迪”·普斯德(英语:Andrew Franklin "Andy" Puzder;1950年7月11日-)是美国连锁餐饮企业CKE Restaurants的首席执行官,拥有华盛顿大学法学院的法学博士学位
  • 裴山镇裴山镇,是中华人民共和国河北省保定市易县下辖的一个乡镇级行政单位。裴山镇下辖以下地区:南街村、西街村、北街村、南庄村、向阳村、西霍山村、东霍山村、北邵村、辛旺村、舍