Painter's Algorithm

The painter's algorithm is one of the simplest solutions to the visibility problem in 3D computer graphics. When projecting a 3D scene onto a 2D plane, it is at some point necessary to decide which polygons are visible and which are hidden. The name "painter's algorithm" refers to a simple-minded painter who paints the distant parts of a scene at first and then covers them by those parts which are nearer. Similarly, the painter's algorithm sorts all the polygons by their depth and then paints them in this order. It will over-paint the parts that are normally not visible and thus solves the visibility problem.
The algorithm can fail in certain cases. In this example, Polygons A, B and C overlap each other. It's not possible to decide which polygon is above the others or when two polygons intersect one another in three dimensions. In basic implementations, painter's algorithm can be inefficient. It forces the system to render each point on every polygon in the visible set, even if that polygon is occluded in the finished scene. This means that, for detailed scenes, the painter's algorithm is an innefficient solution. These and other flaws with the algorithm led to the development of Z-buffer techniques, which can be viewed as a development of the painter's algorithm by resolving depth conflicts on a pixel-by-pixel basis, reducing the need for a depth-based rendering order. Even in such systems, a variant of painter's algorithm is sometimes employed. As Z-buffer implementations generally rely on fixed-precision depth-buffer registers implemented in hardware, there is scope for visibility problems due to rounding error. These are overlaps or gaps at joins between polygons. To avoid this, some graphics engine implementations "overrender" - drawing the affected edges of both polygons in the order given by painter's algorithm. This means that some pixels are actually drawn twice (as in the full painters algorithm) but this happens on only small parts of the image and has a negligible performance effect.

 

<< PreviousWord BrowserNext >>
pollen
scutum
transmission system
ray (geometry)
aetion
grand canyon national park
grand canyon
bryce canyon national park
czech literature
jaroslav foglar
marcus licinius crassus
buffer solution
colocation centre
colo (gorilla)
telephone company
elfstedentocht
jakko jan leeuwangh
arrhenius equation
peering
metric time
de bello gallico
package management system
osama
london internet exchange
horse (game)
cinna
scanline rendering
lucius cornelius cinna
offa of mercia
edward the elder
czech
queen elizabeth's school
british monarchy
sir mix a lot
pope anicetus
april 1, 2002
catherine of valois
fishbourne
carrier sense multiple access
lima (disambiguation)
list of welsh people
mac os x server
aibo
nice