画家算法

✍ dations ◷ 2025-04-04 07:35:33 #三维计算机图形学,算法

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

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

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

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

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

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

相关

  • 野猫野猫可以指:
  • 巴茹·贝纳塞拉夫巴茹·贝纳塞拉夫(Baruj Benacerraf,1920年10月29日-2011年8月2日)是一位委内瑞拉裔美国医学家,他的主要工作领域是免疫学和移植医学。1980年他与乔治·斯内尔和让·多塞一起因“
  • 三原色原色是指不能透过其他颜色的混合调配而得出的“基本色”。以不同比例将原色混合,可以产生出其他的新颜色。以数学的向量空间来解释色彩系统,则原色在空间内可作为一组基底向量
  • 韦伯斯特-阿什伯顿条约韦伯斯特-阿什伯顿条约(英语:Webster–Ashburton Treaty)签署于1842年8月9日,用于解决美国与英属北美殖民地(后来的加拿大)之间的数个边界问题。由美国总统约翰·泰勒批准,用以解决A
  • HEALPixHEALPix 是 Hierarchical Equal Area isoLatitude Pixelisation of a 2-sphere 的缩写,是一种用于解决二维球面像素分割问题(如地图投影)的算法。
  • 解放报 (意大利)《解放报》(意大利语:Liberazione)是意大利的一份左翼报纸,它是重建共产党的官方报纸。该报创刊于1991年。2009年4月25日,一份名为《北极》的讽刺杂志成为该报的副刊。2011年,该报
  • 亚历山大二世 (苏格兰)亚历山大·麦克威廉(中世纪盖尔语:;现代盖尔语:;现代化简称为亚历山大二世;1198年8月24日– 1249年7月6日)是苏格兰国王(1214年-1249年在位)。他出生在东洛锡安的哈丁敦,是苏格兰国王
  • 2019年罗杰斯杯2019年罗杰斯杯为第139届罗杰斯杯,是ATP及WTA世界巡回赛的其中一站,属于ATP世界巡回赛1000大师赛事及WTA世界巡回赛超五赛。本届赛事于2019年8月8日至8月23日在加拿大蒙特利尔
  • 治麟治麟(1844年-1887年),颜札氏,满洲正黄旗人, 字安甫,号舜臣、秋坪,清朝政治人物、进士出身。荫生。光绪二年(1876年),乡试中举。光绪三年(1877年),登进士。光绪三年五月,改翰林院庶吉士。
  • 新北市立头前国民中学新北市立头前国民中学,简称新北市立头前国中、头前国中,位于台湾新北市新庄区,属于一所国民中学。