Computer Graphics

Visibility

Deciding what can be seen before paying to shade it.

Colour is the family; a dashed line is the second member of it.

Drag to pan · scroll to zoom · click a node to open it
G back-face-culling Back-Face Culling rasterization Rasterization back-face-culling->rasterization half a closed mesh can never face the camera frustum-culling Frustum Culling frustum-culling->rasterization geometry off screen still costs vertex work otherwise hierarchical-z-buffer Hierarchical Z-Buffer occlusion-culling Occlusion Culling hierarchical-z-buffer->occlusion-culling the occluders are whatever the depth buffer already holds z-buffer Z-Buffer hierarchical-z-buffer->z-buffer rejects a whole region against a depth pyramid occlusion-culling->frustum-culling being inside the frustum does not make a thing visible painters-algorithm Painter's Algorithm painters-algorithm->rasterization z-buffer->painters-algorithm cyclically overlapping polygons have no correct draw order

6 nodes

Z-Buffer

Keeps the nearest depth seen per pixel and rejects fragments behind it. Turns visibility from a global sorting problem into a local comparison, which… · 1974

Hierarchical Z-Buffer

Keeps a mip pyramid of depth so a whole screen region can be rejected in one test against its coarsest level, instead of per pixel. · 1993

Back-Face Culling

Discards triangles whose winding shows they face away from the camera, removing about half the geometry of a closed mesh before it is rasterized at a…

Frustum Culling

Rejects objects whose bounding volume lies wholly outside the viewing volume, before any of their triangles are touched.

Occlusion Culling

Skips geometry hidden behind other geometry. The hard part is that the answer depends on what has already been drawn, so it is always an estimate mad…

Painter's Algorithm

Sort primitives by depth and draw back to front, letting later writes cover earlier ones. Needs no extra memory and fails on any arrangement without…