One of my projects for CS300 (a graphics course at DigiPen) was to implement hierarchical occlusion mapping, a technique that can potentially reduce scene complexity dramatically by using occluders to hide small, detailed objects.

Process

  1. The objects that are flagged as occluders are rendered in a first pass to a low resolution render target. This generates a mask with depth information.
  2. The graphics card is used to generate mip levels for the mask
  3. Object bounds are projected into that mask’s space and tested for containment within the mask recursively
  4. Objects that were trivially rejected by the mask are compared against the mask depth values to make sure it was an accurate rejection.
  5. All collected visible objects including occluders are passed along to the next rendering stage

Gallery

Additional Resources

More detailed information on this technique can be found here on gamasutra.