Skip to main content

Limitations of back-face detection

Short answer

Back-face detection only works for closed convex objects; concave objects may have hidden front faces and overlapping objects are not handled. Overcome by using it as a culling step before a full visible-surface algorithm like Z-buffer or depth-sorting, and splitting concave objects into convex parts.

What are the limitations of the back-face detection method? Propose an approach to overcome its limitations.

Limitations of back-face detection

  1. It works correctly only for closed, convex solid objects. For a concave object a front face may be partly or fully hidden by another part of the same object, but the test still marks it visible.
  2. It does not handle overlapping objects: a front face of one object can hide the front face of another object behind it.
  3. It does not work for open surfaces or single polygons (a sheet that is visible from both sides).
  4. It only removes back faces; the remaining front faces are not yet sorted by depth, so the final image is not correct without more work.
  5. Transparent objects are not handled properly.
  6. The orientation of the normals must be consistent and outward.

Approach to overcome them

Use back-face detection only as a preprocessing (culling) step and combine it with a method that resolves the remaining overlaps:

  1. First remove the back faces (this cuts the number of polygons by about half).
  2. Then apply a full visible-surface algorithm such as the Z-buffer, scan-line, depth-sorting (painter's) or A-buffer method to the remaining front faces.
  3. For concave objects, split the object into convex parts before applying the test, or use a BSP tree.
  4. For open surfaces, render both sides (do not cull) or use two-sided lighting.

This keeps the speed advantage of culling and gives the correct result for overlapping and concave objects.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Graphics chapter 7 questions →