C++: Dynamic / Hierarchical Occlusion Mapping Algorithm
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
- 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.
- The graphics card is used to generate mip levels for the mask
- Object bounds are projected into that mask’s space and tested for containment within the mask recursively
- Objects that were trivially rejected by the mask are compared against the mask depth values to make sure it was an accurate rejection.
- 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.




Leave a Reply