Painter's algorithm

A fractal landscape being rendered using the painter's algorithm on an Amiga

The painter's algorithm (also depth-sort algorithm and priority fill) is an algorithm for visible surface determination in 3D computer graphics that works on a polygon-by-polygon basis rather than a pixel-by-pixel, row by row, or area by area basis of other Hidden-Surface Removal algorithms.[1][2][3] The painter's algorithm creates images by sorting the polygons within the image by their depth and placing each polygon in order from the farthest to the closest object.[4][5]

The painter's algorithm was initially proposed as a basic method to address the Hidden-surface determination problem by Martin Newell, Richard Newell, and Tom Sancha in 1972, while all three were working at CADCentre.[4] The name "painter's algorithm" refers to the technique employed by many painters where they begin by painting distant parts of a scene before parts that are nearer, thereby covering some areas of distant parts.[6][7] Similarly, the painter's algorithm sorts all the polygons in a scene by their depth and then paints them in this order, farthest to closest.[8] It will paint over the parts that are normally not visible — thus solving the visibility problem — at the cost of having painted invisible areas of distant objects.[9] The ordering used by the algorithm is called a 'depth order' and does not have to respect the numerical distances to the parts of the scene: the essential property of this ordering is, rather, that if one object obscures part of another, then the first object is painted after the object that it obscures.[9] Thus, a valid ordering can be described as a topological ordering of a directed acyclic graph representing occlusions between objects.[10]

The distant mountains are painted first, followed by the closer meadows; finally, the trees, are painted. Although some trees are more distant from the viewpoint than some parts of the meadows, the ordering (mountains, meadows, trees) forms a valid depth order, because no object in the ordering obscures any part of a later object.
  1. ^ Appel, Arthur (1968). Morrel, A. J. H. (ed.). "On calculating the illusion of reality" (PDF). Information Processing, Proceedings of IFIP Congress 1968, Edinburgh, UK, 5-10 August 1968, Volume 2 - Hardware, Applications: 945–950. Archived (PDF) from the original on 2008-07-20.
  2. ^ Romney, Gordon Wilson (1969-09-01). "Computer Assisted Assembly and Rendering of Solids". Archived from the original on November 2, 2020. {{cite journal}}: Cite journal requires |journal= (help)
  3. ^ Gary Scott Watkins. 1970. "A real time visible surface algorithm. Ph.D. Dissertation." The University of Utah. Order Number: AAI7023061.
  4. ^ a b Newell, M. E.; Newell, R. G.; Sancha, T. L. (1972-08-01). "A solution to the hidden surface problem" (PDF). Proceedings of the ACM annual conference on - ACM'72. ACM '72. Vol. 1. Boston, Massachusetts, USA: Association for Computing Machinery. pp. 443–450. doi:10.1145/800193.569954. ISBN 978-1-4503-7491-0. S2CID 13829930. Archived (PDF) from the original on 2020-09-22.
  5. ^ Bouknight, W. Jack (1970-09-01). "A procedure for generation of three-dimensional half-toned computer graphics presentations". Communications of the ACM. 13 (9): 527–536. doi:10.1145/362736.362739. ISSN 0001-0782. S2CID 15941472.
  6. ^ Berland, Dinah (1995). Historical Painting Techniques, Materials, and Studio Practice (PDF). The Getty Conservation Institute.
  7. ^ Wylie, Chris; Romney, Gordon; Evans, David; Erdahl, Alan (1967-11-14). "Half-tone perspective drawings by computer". Proceedings of the November 14-16, 1967, fall joint computer conference on - AFIPS '67 (Fall). Anaheim, California: Association for Computing Machinery. pp. 49–58. doi:10.1145/1465611.1465619. ISBN 978-1-4503-7896-3. S2CID 3282975.
  8. ^ Desai, Apurva (2008). Computer Graphics. PHI Learning Pvt. Ltd. ISBN 9788120335240.
  9. ^ a b de Berg, Mark (2008). Computational Geometry (PDF). Springer. Archived (PDF) from the original on 2016-08-03.
  10. ^ de Berg, Mark (1993). Ray Shooting, Depth Orders and Hidden Surface Removal. Lecture Notes in Computer Science. Vol. 703. Springer. p. 130. ISBN 9783540570202..

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy