Many applications in computer graphics and virtual environments need to render datasets with large numbers of primitives and high depth complexity at interactive rates. However. standard techniques like view frustum culling and a hardware z-buffer are unable to display datasets composed of hundred of thousands of polygons at interactive frame rates on current high-end graphics systems. We add a "conservative" visibility culling stage to the rendering pipeline, attempting to identify and avoid processing of occluded polygons. Given a moving viewpoint, the algorithm dynamically chooses a set of occluderv. Each occluder is used to compute a shadow jrustum, and all primitives contained within this frustum are culled. The algorithm hierarchically traverses the model, culling out parts not visible from the current viewpoint using efficient, robust, and in some cases specialized interference detection algorithms. The algorithm's performance varies with the location of the viewpoint and the depth complexity of the model. In the worst case it is /inear in the input size with a small constant. In this paper, we demonstrate its performance on a city model composed of 500,000 polygons and possessing varying depth complexity. We are able to cull an average of 55% of the polygons that would not be culled by view-frustum culling and obtain a commensurate improvement in frame rate. The overall approach is eflective and scalable, is applicable to all polygonal models, and can be easily implemented on top of view-frustum culling.
Hudson et al. REF proposed an approach based on dynamically choosing a set of occluders, and computing their shadow frusta, which is used for culling the bounding boxes of a hierarchy of objects.
Accelerated occlusion culling using shadow frusta
SCG '97
Computer Science