Painter's algorithm: Difference between revisions

Content deleted Content added
Fredrik (talk | contribs)
m wording
+stuff about painter's in the age of the z-buffer
Line 10:
[[Image:Painters_problem.png|Image: how painter's algorithm fail]]
 
In its naive implementation, painter's algorithm can prove to be highly inefficient. It forces the system to dutifully [[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, painter's algorthm generally proves to be a slow solution.
Another problem is that it is very slow because the computer needs to [[render]] the intensities at all points of all polygons even if they will not be seen in the final scene because the polygon is not visible.
 
These and other problems with the Painter's algorithm led to the development of [[Z-buffer]] techniques, which can be viewed as a logical development of the Painter's algorithm by resolving depth conflicts on a pixel-by-pixel basis, thus removingreducing the need for a depth-based rendering order. Even in such systems, however, 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 manifest as subtle overlaps or gaps at joins between polygons. To avoid this, some graphics engine implementations "overrender" - drawing the affected edges 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 proves to be only a tiny minority of the image, and so has negligible performance effect. -- [[User:Finlay McWalter|Finlay McWalter]] | [[User talk:Finlay McWalter | Talk]] 19:00, 3 Jun 2004 (UTC)