Abstract
We present a simple but powerful algorithm for optimizing the usage of hardware occlusion queries in arbitrary complex scenes. Our method minimizes the number of issued queries and reduces the delays due to the latency of query results. We reuse the results of the occlusion queries from the last frame in order to initiate and schedule the queries in the next frame. This is done by processing nodes of a spatial hierarchy in front-to-back order, interleaving occlusion queries with the rendering of certain previously visible nodes. The proposed scheduling of the queries makes use of spatial and temporal coherence of visibility. Despite its simplicity, the algorithm achieves good culling efficiency for scenes of various characteristics. The implementation of the algorithm is straightforward, and it can be easily integrated in existing real-time rendering packages using various spatial data structures.More Info
Keywords: occlusion culling, visibility, real-time rendering, occlusion queryVideos
Videos MPEG 1 format.
Powerplant Walkthrough: Illustrates visiblity in the Power Plant model (Note: only part of the model was used to create the video) (31MB). | |
City Walkthrough: Visibility in the city scene (17MB). | |
Teapot scene: Visibility in a scene with 2500 teapots (note: 5000 teapots were used for the results in the paper) (9MB). |