画家算法

✍ dations ◷ 2025-10-24 14:45:51 #三维计算机图形学,算法

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

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

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

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

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

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

相关

  • Psub2/subSsub5/sub五硫化二磷是一种无机物,分子式P4S10。五硫化二磷是一种淡黄色或灰黄色结晶,有类似硫化氢的臭味。有强吸湿性,遇水和湿空气分解放出磷酸和硫化氢。微溶于二硫化碳,溶于氢氧化钠
  • 扁蚜科扁蚜科(Hormaphididae)是蚜总科下的一个科。 该科生物在世界上已发现43属215种,其中有将近一半发现与中国。其所有成员均为破坏严重的农业害虫,较著名者有居竹舞蚜、甘蔗粉角蚜
  • 消化酶消化酶(英语:digestive enzymes)是将聚合的高分子降解为他们的构建单元的酶类,以促进他们被身体吸收。消化酶类可在动物(及人)的消化管内找到,在那里帮助食物的消化,他们也存在于细
  • 国富论《国富论》(英语:The Wealth of Nations)全名为《国民财富的性质和原因的研究》(An Inquiry into the Nature and Causes of the Wealth of Nations),苏格兰经济学家暨哲学家亚当
  • 茴香醛茴香醛,是一种芳香醛,无色透明油状液体,易溶于乙醇;乙醚;丙酮;氯仿等,溶于苯,不溶于水。能随水蒸汽挥发。
  • 森林砍伐森林砍伐,或称森林开伐、去森林化(Deforestation)、森林破坏,意为人为的将森林地转成耕地、牧场、城市等用地的行为。一般来说,森林开伐会造成环境退化和物种多样性的减少。许多
  • 300 (消歧义)300是一个自然数,亦可以代表:在媒体中:在机械中:在游戏中:
  • 彰2线彰2线 海边-什股,是位于彰化县的一条乡道,东起彰化县伸港乡什股村海岸边,彰化县伸港乡泉厝村、新港村、大同村什股桥,全长2.345公里。本线有解编可能本线自1961年即编为彰2线,惟路
  • 虬髯客虬髯客,为唐代传奇小说《虬髯客传》(作者为杜光庭)中的虚构人物,姓张,与李靖、红拂女并称风尘三侠。虬髯客是一个神秘的游侠,有道教背景,原希望在隋末乱世取得天下,于是游历江湖。在
  • 拉伸粘度在高聚物的纺丝和吹膜生产中,高聚物熔体离开口模进入空间后,在张力作用下产生的流动是拉伸流动,在管道中凡是流动收敛或发散的流动都包含有拉伸流动的成分,它与剪切流动一样存在