painter's algorithm
E932700
The painter's algorithm is a computer graphics technique for hidden surface removal that renders objects from back to front so nearer surfaces visually overwrite those farther away.
Statements (47)
| Predicate | Object |
|---|---|
| instanceOf |
computer graphics algorithm
ⓘ
hidden surface removal algorithm ⓘ visibility determination technique ⓘ |
| advantage |
conceptual simplicity
ⓘ
easy to implement in software ⓘ natural for offline rendering of static scenes ⓘ |
| alsoKnownAs |
painter algorithm
ⓘ
painters algorithm NERFINISHED ⓘ |
| assumes | opaque surfaces unless extended for transparency ⓘ |
| basedOn | analogy to a painter painting distant parts of a scene first ⓘ |
| canBeExtendedFor | transparent surfaces by ordering by depth and alpha blending ⓘ |
| canProduce |
incorrect rendering for overlapping cycles of polygons
ⓘ
visibility artifacts when depth ordering is ambiguous ⓘ |
| category |
image space algorithm
ⓘ
order-based visibility algorithm ⓘ |
| comparedTo |
BSP tree visibility algorithm
ⓘ
Z-buffer algorithm ⓘ |
| complexity | typically O(n log n) for sorting n primitives ⓘ |
| coreIdea |
draw farthest surfaces first and nearest surfaces last
ⓘ
render objects from back to front ⓘ |
| disadvantage |
inefficient when many surfaces overlap the same pixels
ⓘ
requires global knowledge of scene for sorting ⓘ |
| effect | nearer surfaces overwrite farther surfaces in the frame buffer ⓘ |
| field |
3D rendering
ⓘ
computer graphics ⓘ |
| historicalUse |
early 3D rendering systems
ⓘ
software renderers before widespread hardware Z-buffering ⓘ |
| implementationDetail |
depth can be approximated by farthest vertex
ⓘ
depth can be approximated by polygon centroid ⓘ |
| influenced | educational examples of visibility algorithms ⓘ |
| influencedBy | traditional painting process ⓘ |
| limitation |
difficulty handling cyclic overlap of surfaces
ⓘ
overdraw inefficiency ⓘ problems with intersecting polygons ⓘ requires correct depth sorting to avoid artifacts ⓘ |
| outputRepresentation | raster image ⓘ |
| purpose |
hidden surface removal
ⓘ
visibility sorting of surfaces ⓘ |
| requires | sorting of primitives by depth ⓘ |
| step |
compute depth value for each primitive
ⓘ
rasterize primitives in sorted order ⓘ sort primitives by depth ⓘ |
| typicalPrimitives |
polygons
GENERATED
ⓘ
triangles GENERATED ⓘ |
| usedIn | teaching computer graphics fundamentals ⓘ |
| worksBestFor |
non-intersecting polygons
ⓘ
scenes with simple depth ordering ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.