Real-time collision culling of a million bodies on graphics processing units

We cull collisions between very large numbers of moving bodies using graphics processing units (GPUs). To perform massively parallel sweep-and-prune (SaP), we mitigate the great density of intervals along the axis of sweep by using principal component analysis to choose the best sweep direction, together with spatial subdivisions to further reduce the number of false positive overlaps. Our algorithm implemented entirely on GPUs using the CUDA framework can handle a million moving objects at interactive rates. As application of our algorithm, we demonstrate the real-time simulation of very large numbers of particles and rigid-body dynamics.

[1]  Oliver G. Staadt,et al.  Kinetic sweep and prune for multi-body continuous motion , 2006, Comput. Graph..

[2]  I. Wald,et al.  On fast Construction of SAH-based Bounding Volume Hierarchies , 2007, 2007 IEEE Symposium on Interactive Ray Tracing.

[3]  Hubert Nguyen,et al.  GPU Gems 3 , 2007 .

[4]  Samuel R. Buss,et al.  Efficient Large-Scale Sweep and Prune Methods with AABB Insertion and Removal , 2009, 2009 IEEE Virtual Reality Conference.

[5]  David Baraff,et al.  Dynamic Simulation of Non-penetrating Rigid Bodies , 1992 .

[6]  William H. Press,et al.  Numerical recipes in C , 2002 .

[7]  Michael Manzke,et al.  Hardware Accelerated Broad Phase Collision Detection for Realtime Simulations , 2007, VRIPHYS.

[8]  Kun Zhou,et al.  Real-time KD-tree construction on graphics hardware , 2008, SIGGRAPH Asia '08.

[9]  Yao Zhang,et al.  Scan primitives for GPU computing , 2007, GH '07.

[10]  Oliver G. Staadt,et al.  Velocity-Aligned Discrete Oriented Polytopes for Dynamic Collision Detection , 2008, IEEE Transactions on Visualization and Computer Graphics.

[11]  Herbert Edelsbrunner,et al.  On the Intersection of Orthogonal Objects , 1981, Inf. Process. Lett..

[12]  Dinesh Manocha,et al.  Incremental Algorithms for Collision Detection Between General Solid Models , 1994 .

[13]  Dinesh Manocha,et al.  Fast BVH Construction on GPUs , 2009, Comput. Graph. Forum.

[14]  Mircea Andrecut,et al.  Parallel GPU Implementation of Iterative PCA Algorithms , 2008, J. Comput. Biol..

[15]  Dinesh Manocha,et al.  Collision and Proximity Queries , 2004, Handbook of Discrete and Computational Geometry, 2nd Ed..

[16]  Hanan Samet,et al.  Foundations of multidimensional and metric data structures , 2006, Morgan Kaufmann series in data management systems.

[17]  Christer Ericson,et al.  Real-Time Collision Detection , 2004 .

[18]  Dinesh Manocha,et al.  ICCD: Interactive Continuous Collision Detection between Deformable Models Using Connectivity-Based Culling , 2008, IEEE Transactions on Visualization and Computer Graphics.

[19]  Dinesh Manocha,et al.  I-COLLIDE: an interactive and exact collision detection system for large-scale environments , 1995, I3D '95.

[20]  John Hart,et al.  ACM Transactions on Graphics , 2004, SIGGRAPH 2004.

[21]  Dinesh Manocha,et al.  MCCD: Multi-core collision detection between deformable models using front-based decomposition , 2010, Graph. Model..

[22]  Brian Mirtich,et al.  Impulse-based dynamic simulation of rigid body systems , 1996 .

[23]  Dinesh Manocha,et al.  gProximity: Hierarchical GPU‐based Operations for Collision and Distance Queries , 2010, Comput. Graph. Forum.

[24]  Edward T. Grochowski,et al.  Larrabee: A many-Core x86 architecture for visual computing , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[25]  Ming C. Lin,et al.  Efficient collision detection for animation and robotics , 1993 .

[26]  Heng Tao Shen,et al.  Principal Component Analysis , 2009, Encyclopedia of Biometrics.

[27]  Fuchang Liu,et al.  Real-time collision culling of a million bodies on graphics processing units , 2010, SIGGRAPH 2010.