Efficient visibility-based algorithms for interactive walkthrough, shadow generation, and collision detection

  • Authors:
  • Naga K. Govindaraju;Dinesh Manocha

  • Affiliations:
  • -;-

  • Venue:
  • Efficient visibility-based algorithms for interactive walkthrough, shadow generation, and collision detection
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present novel visibility-based algorithms for solving three problems: interactive display, shadow generation, and collision detection. We use the visibility capabilities available on graphics processing units (GPUs) in order to perform visibility computations, and we apply the results to complex 3-D environments. We present a real-time visibility culling algorithm that reduces the number of rendered primitives by culling portions of a complex 3-D environment that are not visible to the user. We introduce an occlusion switch to perform visibility computations. Each occlusion switch consists of two GPUs, and we use these GPUs either for computing an occlusion representation or for culling away primitives from a given view point. Moreover, we switch the roles of each GPU across successive frames. The visible primitives are rendered on a separate GPU or are used for generating hard-edged umbral shadows from a moving light source. We use our visibility culling algorithm for computing the potential shadow receivers and shadow casters from the eye and light sources, respectively. We further reduce their size using a novel cross-culling algorithm. We present a novel visibility-based algorithm for reducing the number of pair-wise interference tests among multiple deformable and breaking objects in a large environment. Our collision detection algorithm computes a potentially colliding set (PCS) using image-space occlusion queries. Our algorithm involves no precomputation and proceeds in multiple stages: PCS computation at an object level and PCS computation at a subobject level, followed by exact collision detection. We use a linear-time two-pass rendering algorithm for computing each PCS efficiently. Our collision-pruning algorithm can also compute self-collisions in general deformable models. Further; we overcome the sampling and precision problems in our pruning algorithm by fattening the triangles sufficiently in PCS. We show that the Minkowski sum of each primitive with a sphere provides a conservative bound for performing reliable 2.5-D overlap tests using GPUs. In contrast to prior GPU-based collision detection algorithms, our algorithm guarantees that no collisions will be missed due to limited frame-buffer precision or quantization errors during rasterization. We have implemented our visibility-based algorithms on PCs with a commodity graphics processor such as the NVIDIA GeForce FX 5900. We highlight their performance on complex 3-D environments composed of millions of polygons. In practice, we are able to achieve interactive frame rates of 10–20 frames per second in these experiments.