Visibility culling of a scene is central to any interactive graphics application.
The idea is to limit the geometry sent down the rendering pipeline to only the geometry
with a fair chance of finally becoming visible. It is important for the culling stage to be
fast for it to be effective; otherwise the performance gain achieved will be overshadowed.
Hierarchical scene structures are commonly used to speed up the process.
Hierarchical culling of bounding boxes to a view frustum is fast and sufficient in most
applications. However, when there are multiple view frustums (as in a tiled display wall),
visibility culling time becomes substantial and cannot be hidden by pipelining it with other
stages of rendering.
Here, we address the problem of culling an object hierarchy to a hierarchically organized set of
frustums, such as those found in tiled displays and shadow volume computation. We present an
adaptive algorithm to unfold the Object Hierarchy (OH) or Frustum hierarchy (FH) at every stage
in the culling procedure. Our algorithm computes from-point visibility and is conservative. The
precomputation required is minimal, allowing our approach to be applied for dynamic scenes as well.
Features of the Adaptive OH and FH culling Algo ::
- Faster running time than existing solutions based etirely on either OH or FH
- Use of Heirarchies potentially eliminates half objects and frustums in each step
- Sublinear running time, adapts according to viewpoint and "goodness" of
the scene.
- Simple PCA based preprocessing required to compute Oriented Bounding boxes
- Can work with OBB's, AABB's or Bounding Spheres
- Scales sublineraly to to both object and frustum count, suitable for very large
number of objects and large tiled displays
- Dynamic objects can be used as only cheap OBB/AABB computation is needed every
frame
- Easily extendable to a generalized arrangement of view frustums
|
|
|
We first find all the objects in the Primary view frustum and then call the
Adaptive algorithm for every object present inside the Primary view frustum. The
Adaptive algoritm is recursive in nature. The basic steps involved are::
Algorithm Adaptive Culling. Inputs: Object Node and Frustum Node
- If the Frustum node is a leaf node, mark the Object node
visible to this frustum and return.
- [L,C,R] = Classify the children of the Object Node according to
their orientation with respect to the Frusum node's bisection plane.
- Send All objects in set C to both sub-frustums of the Frustum
Node using this algorithm again
- Send All objects in set L to the left sub-frustum using this
algorithm again
- Send All objects in set R to the right sub-frusrum using this
algorithm again
The time complexity of the algorithm is roughly of O (min (N*logM, M*logN)) where N =
Number of objects and M = Number of view frustums.
|
Nirnimesh, Pawan Harish, P.J. Narayanan:
Culling an Object Hierarchy to a Frustum
Hierarchy. In: Indian Conference on Computer Vision, Graphics and Image Processing
(2006)
Nirnimesh, Pawan Harish, P.J. Narayanan:
Garuda: A Scalable, Geometry Managed Display
Wall using Coomodity PC's. Submitted to : IEEE Transactions on Visualization
and Computer Graphics (2007)
Pawan Harish
Nirnimesh
|
Prof. P. J. Narayanan
|
Last Modified: Thu Feb 1, 16:06:04 IST 2007