Science China Information Sciences

, Volume 56, Issue 1, pp 1–10 | Cite as

An octree-based proxy for collision detection in large-scale particle systems

  • WenShan Fan
  • Bin Wang
  • Jean-Claude Paul
  • JiaGuang Sun
Research Paper

Abstract

Particle systems are important building block for simulating vivid and detail-rich effects in virtual world. One of the most difficult aspects of particle systems has been detecting collisions between particles and mesh surface. Due to the huge computation, a variety of proxy-based approaches have been proposed recently to perform visually correct simulation. However, all either limit the complexity of the scene, fail to guarantee non-penetration, or are too slow for real-time use with many particles. In this paper, we propose a new octree-based proxy for colliding particles with meshes on the GPU. Our approach works by subdividing the scene mesh with an octree in which each leaf node associates with a representative normal corresponding to the normals of the triangles that intersect the node. We present a view-visible method, which is suitable for both closed and non-closed models, to label the empty leaf nodes adjacent to nonempty ones with appropriate back/front property, allowing particles to collide with both sides of the scene mesh. We show how collisions can be performed robustly on this proxy structure in place of the original mesh, and describe an extension that allows for fast traversal of the octree structure on the GPU. The experiments show that the proposed method is fast enough for real-time performance with millions of particles interacting with complex scenes.

Keywords

particle systems collision detection octree-based proxy GPU 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Reeves W T. Particle systems—a technique for modeling a class of fuzzy objects. ACM Trans Graphic, 1983, 2: 91–108CrossRefGoogle Scholar
  2. 2.
    Witkin A, Baraff D. Physically based modeling: principles and practice. In: Proceedings of SIGGRAPH’97 Course notes. 1997Google Scholar
  3. 3.
    Kolb A, Latta L, Rezk-Salama C. Hardware-based simulation and collision detection for large particle systems. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware. 2004. 123–131Google Scholar
  4. 4.
    Drone S. Real-time particle systems on the GPU in dynamic environments. In: Proceedings of ACM SIGGRAPH 2007 Courses. San Diego, 2007. 80–96Google Scholar
  5. 5.
    Sims K. Particle animation and rendering using data parallel computation. In: Proceedings of the 17th Annual Conference on Computer Graphics and Interactive Techniques. Dallas, 1990. 405–413Google Scholar
  6. 6.
    Owens J D, Luebke D, Govindaraju N, et al. A survey of general-purpose computation on graphics hardware. Comput Graph Forum, 2007, 26: 80–113CrossRefGoogle Scholar
  7. 7.
    Latta L. Building a million particle system. Lecture at the GDC, 2004Google Scholar
  8. 8.
    Kipfer P, Segal M, Westermann R. UberFlow: a GPU-based particle engine. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware. 2004. 115–122Google Scholar
  9. 9.
    Venetillo J S, Celes W. GPU-based particle simulation with inter-collisions. Visual Comput, 2007, 23: 851–860CrossRefGoogle Scholar
  10. 10.
    Glasner A S. Space subdivision for fast ray tracing. IEEE Comput Graph, 1984, 4: 15–22MathSciNetGoogle Scholar
  11. 11.
    MacDonald D J, Booth K S. Heuristics for ray tracing using space subdivision. Visual Comput, 1990, 6: 153–166CrossRefGoogle Scholar
  12. 12.
    Samet H. Applications of Spatial Data Structures: Computer Graphics, Image Processing, and GIS. Addison-Wesley, 1990Google Scholar
  13. 13.
    Scherson I D, Caspary E. Data structures and the time complexity of ray tracing. Visual Comput, 1987, 3: 201–213CrossRefGoogle Scholar
  14. 14.
    Benson D, Davis J. Octree textures. ACM Trans Graphic, 2002, 21: 785–790Google Scholar
  15. 15.
    DeBry D, Gibbs J, Petty D D, et al. Painting and rendering textures on unparameterized models. ACM Trans Graphic, 2002, 21: 763–768Google Scholar
  16. 16.
    Hormann K, Polthier K, Sheffer A. Mesh parameterization: theory and practice. In: Proceedings of ACM SIGGRAPH ASIA 2008 Courses. Singapore, 2008. 1–87Google Scholar
  17. 17.
    Lefebvre S, Dachsbacher C. TileTrees. In: Proceedings of the 2007 symposium on Interactive 3D Graphics and Games. Seattle, 2007. 25–31Google Scholar
  18. 18.
    Lefebvre S, Hornus S, Neyret F. GPU Gems 2: Octree Textures on the GPU. Addison-Wesley, 2005Google Scholar
  19. 19.
    Castro R, Lewiner T, Lopes H, et al. Statistical optimization of octree searches. Comput Graph Forum, 2008, 27: 1557–1566MATHCrossRefGoogle Scholar
  20. 20.
    Warren M S, Salmon J K. A parallel hashed octree N-Body algorithm. In: Proceedings of the 1993 ACM/IEEE Conference on Supercomputing. Portland, 1993. 12–21Google Scholar
  21. 21.
    Bloomenthal J. Polygonization of implicit surfaces. Comput Aided Geom D, 1988, 5: 341–355MathSciNetMATHCrossRefGoogle Scholar
  22. 22.
    Cohen-Steiner D, Alliez P, Desbrun M. Variational shape approximation. ACM Trans Graph, 2004, 23: 905–914CrossRefGoogle Scholar
  23. 23.
    Haines E. Point in polygon strategies. Graphics Gems IV, 1994: 24–46Google Scholar
  24. 24.
    Lacoste J, Boubekeur T, Jobard B, et al. Appearance preserving octree-textures. In: Proceedings of the 5th International Conference on Computer Graphics and Interactive Techniques in Australia and Southeast Asia, 2007. 87–93Google Scholar
  25. 25.
    NVIDIA. NVIDIA CUDA Programming Guide 1.1. 2007Google Scholar
  26. 26.
    Green S. Particle Simulation using CUDA. NVIDIA Whitepaper, 2010Google Scholar
  27. 27.
    Zhou K, Gong M M, Huang X, et al. Data-parallel octrees for surface reconstruction. IEEE Trans Vis Comput Gr, 2011, 17: 669–681CrossRefGoogle Scholar
  28. 28.
    Deng H, Zhang L Q, Mao X C, et al. Fast and dynamic generation of linear octrees for geological bodies under hardware acceleration. Sci China Earth Sci, 2010, 53: 113–119CrossRefGoogle Scholar
  29. 29.
    Yang Z W, Seo Y H, Kim T W. Adaptive triangular-mesh reconstruction by mean-curvature-based refinement from point clouds using a moving parabolic approximation. Comput Aid Des, 2010, 42: 2–17CrossRefGoogle Scholar

Copyright information

© Science China Press and Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • WenShan Fan
    • 1
    • 2
    • 3
    • 4
    • 5
  • Bin Wang
    • 1
    • 4
    • 5
  • Jean-Claude Paul
    • 1
    • 5
    • 6
  • JiaGuang Sun
    • 1
    • 4
    • 5
  1. 1.School of SoftwareTsinghua UniversityBeijingChina
  2. 2.Beijing Aerospace Control CenterBeijingChina
  3. 3.Department of Computer Science and TechnologyTsinghua UniversityBeijingChina
  4. 4.Key Laboratory for Information System SecurityMinistry of Education of ChinaBeijingChina
  5. 5.Tsinghua National Laboratory for Information Science and TechnologyBeijingChina
  6. 6.Institut National de Recherche en Informatique et en Automatique (INRIA)LyonFrance

Personalised recommendations