The subject of occlusion culling of large 3D environments has received substantial contribution. However the major amount of research into the area has focussed on occlusion culling of static scenes using spatial partitioning. The primary aim of all these schemes is to minimize the load on the GPU by reducing the number of primitives to be rendered. We present an efficient algorithm for visibility culling that supports static and dynamic scenes with equal ease with significant performance improvements over existing schemes. For a given camera position the status of the object nodes in an object hierarchy can be seen as a visibility cut, the nodes of which are either outside the view frustum, or hidden or visible. We propose an efficient update scheme of this visibility cut while processing each frame, taking full advantage of the object hierarchy with spatial and temporal coherency. The whole scene walk through is modelled as a discrete event simulation where every change generates an event scheduled for that particular frame. For occlusion culling, we employ occlusion queries which helps the system to be output sensitive. The system supports transparency of entities without a major performance hit. We propose a scheme to select the level of detail of an object based on the results of occlusion queries.
['Soumyajit Deb', 'Ankit Gupta']
Visibility Cuts: A System for Rendering Dynamic Virtual Environments