In this paper, occlusion testing in very large virtual environments is discussed from two perspectives: a theoretical one, discussing occlusion culling in relation to detail elision (level of detail), and a practical one, relating to an adaptive occlusion-culling algorithm developed in this paper. The theoretical perspective formally demonstrates the efficiency of detail elision in the face of real-world-like environments. It further shows the utility of using detail elision not only to lower the triangle count of individual objects but also to lower the load on the scene graph traversal algorithm. Finally, the results indicate that, even in open environments, one needs occlusion culling and that approaches based on choosing only a few good (convex) occluders are insufficient in this case. Practically, the theoretical perspective is reflected in the development of an occlusion-culling algorithm based on a marriage of the frustum-slicing approach to view frustum culling and hierarchical occlusion maps (HOMs). The resulting algorithm is much simpler than the original HOM algorithm, requires little pre-processing, and integrates detail elision with the occlusion-culling algorithm in a natural way. The approach is well suited for use with large, complex models with a long mean free line of sight (“the great outdoors”), models for which it is not feasible to construct, or search, a database of occluders to be rendered in each frame. The algorithm is tested for such large models, and results show that frame rates tend to converge as the geometrical complexity of the model increases.
Read full abstract