An adaptive octree grid for GPU-based collision detection of deformable objects

Abstract

In spatial subdivision-based collision detection methods on GPUs, uniform subdivision works well for even triangle spatial distributions, whilst for uneven cases non-uniform subdivision works better. Non-uniform subdivision techniques mainly include hierarchical grids and octrees. Hierarchical grids have been adopted for previous GPU-based approaches, due to their suitability for GPUs. However, octrees offer a better adaptation to distributions. One contribution of this paper is the use of an octree grid that takes a middle path between these two structures, and accelerates collision detection by significantly reducing the number of broad-phase tests which, due to their large quantity, are generally the main bottleneck in performance. Another contribution is to achieve further reduction in the number of tests in the broad phase using a two-stage scheme to improve octree subdivision. The octree grid approach is also able to address the issue of uneven triangle sizes, another common difficulty for spatial subdivision techniques. Compared to the virtual subdivision method which reports the fastest results among existing methods, speedups between 1.0\(\times \) and 1.5\(\times \) are observed for most standard benchmarks where triangle sizes and spatial distributions are uneven.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

References

  1. 1.

    Alcantara, D.A., Sharf, A., Abbasinejad, F., Sengupta, S., Mitzenmacher, M., Owens, J.D., Amenta, N.: Real-time parallel hashing on the GPU. ACM Trans. Graph. 28(5), 154:1–154:9 (2009)

    Article  Google Scholar 

  2. 2.

    van den Bergen, G., Van, G., Bergen, D.: Efficient collision detection of complex deformable models using aabb trees. J. Graph. Tools 2, 1–13 (1998)

    Google Scholar 

  3. 3.

    Bridson, R., Fedkiw, R., Anderson, J.: Robust treatment of collisions, contact and friction for cloth animation. In: ACM SIGGRAPH 2005 Courses, SIGGRAPH ’05. ACM, New York (2005)

  4. 4.

    Curtis, S., Tamstorf, R., Manocha, D.: Fast collision detection for deformable models using representative-triangles. In: Proceedings of the 2008 symposium on Interactive 3D graphics and games. I3D ’08, pp. 61–69. ACM, New York (2008)

  5. 5.

    Eitz, M., Lixu, G.: Hierarchical spatial hashing for real-time collision detection. In: Proceedings of the IEEE International Conference on Shape Modeling and Applications 2007, pp. 61–70. IEEE Computer Society, Washington, DC (2007)

  6. 6.

    Fan, W., Wang, B., Paul, J.C., Sun, J.: A hierarchical grid based framework for fast collision detection. Comput. Graph. Forum 30(5), 1451–1459 (2011)

    Article  Google Scholar 

  7. 7.

    Gottschalk, S., Lin, M.C., Manocha, D.: OBBTree: A hierarchical structure for rapid interference detection. In: Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH ’96, pp 171–180. ACM, New York (1996)

  8. 8.

    Govindaraju, N.K., Redon, S., Lin, M.C., Manocha, D.: Cullide: interactive collision detection between complex models in large environments using graphics hardware. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, HWWS ’03, pp. 25–32. Eurographics Association (2003)

  9. 9.

    Grand, S.L.: Broad-phase collision detection with cuda. In: GPU Gems 3 (2007)

  10. 10.

    Greß, A., Guthe, M., Klein, R.: GPU-based collision detection for deformable parameterized surfaces. Comput. Graph. Forum 25(3), 497–506 (2006)

    Article  Google Scholar 

  11. 11.

    Harris, M.: Parallel Prefix Sum (Scan) with CUDA. In: GPU Gems 3 (2007)

  12. 12.

    Heidelberger, B., Teschner, M., Gross, M.: Detection of collisions and self-collisions using image-space techniques. J. WSCG 12(3), 145–152 (2004)

    Google Scholar 

  13. 13.

    Heidelberger, B., Teschner, M., Gross, M.H.: Real-time volumetric intersections of deforming objects. In: VMV, pp. 461–468 (2003)

  14. 14.

    Hillis, W.D., Steele G.L., Jr.: Data parallel algorithms. Commun. ACM 29(12), 1170–1183 (1986). doi:10.1145/7902.7903

  15. 15.

    Kim, D., Heo, J.P., Huh, J., Kim, J., Yoon, S.E.: Hpccd: hybrid parallel continuous collision detection using CPUs and GPUs. Comput. Graph. Forum 28(7), 1791–1800 (2009)

    Article  Google Scholar 

  16. 16.

    Klosowski, J.T., Held, M., Mitchell, J.S.B., Sowizral, H., Zikan, K.: Efficient collision detection using bounding volume hierarchies of k-dops. IEEE Trans. Vis. Comput. Graph. 4, 21–36 (1998)

    Article  Google Scholar 

  17. 17.

    Kroiss, R.R.: Collision detection using hierarchical grid spatial partitioning on the GPU. ProQuest Dissertations and Theses, University of Colorado at Boulder, p 45 (2013)

  18. 18.

    Larsson, T., Akenine-Mller, T.: A dynamic bounding volume hierarchy for generalized collision detection. Comput. Graph. 30(3), 450–459 (2006). doi:10.1016/j.cag.2006.02.011

  19. 19.

    Lauterbach, C., Garland, M., Sengupta, S., Luebke, D., Manocha, D.: Fast BVH construction on GPUs. Comput. Graph. Forum 28(2), 375–384 (2009)

    Article  Google Scholar 

  20. 20.

    Lauterbach, C., Mo, Q., Manocha, D.: gProximity: hierarchical GPU-based operations for collision and distance queries. Comput. Graph. Forum 29(2), 419–428 (2010)

    Article  Google Scholar 

  21. 21.

    Mezger, J., Kimmerle, S., Etzmu, O.: Hierarchical techniques in collision detection for cloth animation. J. WSCG 11(2), 322–329 (2003)

    Google Scholar 

  22. 22.

    NVIDIA.: Cudashuffle: Cuda parallel prefix sum with shuffle intrinsics. In: Cuda samples (2013)

  23. 23.

    NVIDIA.: Cudpp: Cuda data parallel primitives library (2013)

  24. 24.

    Otaduy, M.A., Chassot, O., Steinemann, D., Gross, M.: Balanced hierarchies for collision detection between fracturing objects. Virtual Reality Conference, IEEE 83–90 (2007)

  25. 25.

    Pabst, S., Koch, A., Straer, W.: Fast and scalable CPU/GPU collision detection for rigid and deformable surfaces. Comput. Graph. Forum 29(5), 1605–1612 (2010)

    Article  Google Scholar 

  26. 26.

    Palmer, I.J., Grimsdale, R.L.: Collision detection for animation using sphere-trees. Comput. Graph. Forum 14(2), 105–116 (1995)

    Article  Google Scholar 

  27. 27.

    Provot, X.: Collision and self-collision handling in cloth model dedicated to design garments, vol. 97, pp. 177–189. Citeseer (1997)

  28. 28.

    Rodrïguez-Navarro, J., Sainz, M., Susïn, A.: GPU based cloth simulation with moving humanoids. In: Actas XV Congreso Espaol de Informtica Grfica, pp. 147–155 (2005)

  29. 29.

    Tang, M., Curtis, S., Yoon, S.E., Manocha, D.: Interactive continuous collision detection between deformable models using connectivity-based culling. In: Proceedings of the 2008 ACM symposium on Solid and physical modeling. SPM ’08, pp. 25–36. ACM, New York (2008)

  30. 30.

    Tang, M., Curtis, S., Yoon, S.E., Manocha, D.: Interactive continuous collision detection between deformable models using connectivity-based culling. In: SPM ’08: Proceedings of the 2008 ACM symposium on Solid and physical modeling, pp. 25–36. ACM, New York (2008)

  31. 31.

    Tang, M., Manocha, D., Lin, J., Tong, R.: Collision-streams: fast gpu-based collision detection for deformable models. In: Symposium on Interactive 3D Graphics and Games, I3D ’11, pp. 63–70. ACM, New York (2011)

  32. 32.

    Tang, M., Manocha, D., Tong, R.: Fast continuous collision detection using deforming non-penetration filters. In: Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games. I3D ’10, pp. 7–13. ACM, New York (2010)

  33. 33.

    Tang, M., Manocha, D., Tong, R.: Mccd: multi-core collision detection between deformable models using front-based decomposition. Graph. Models 72(2), 7–23 (2010)

  34. 34.

    Teschner, M., Heidelberger, B., Müller, M., Pomerante, D., Gross, M.H.: Optimized spatial hashing for collision detection of deformable objects. VMV 3, 47–54 (2003)

    Google Scholar 

  35. 35.

    Teschner, M., Kimmerle, S., Zachmann, G., Heidelberger, B., Raghupathi, L., Fuhrmann, A., Cani, M.-P., Faure, F., Magnenat-Thalmann, N., Strasser, W., Volino, P.: Collision detection for deformable objects. Comput. Graph. Forum 24(1), 61–81 (2005). doi:10.1111/j.1467-8659.2005.00829.x

  36. 36.

    Wong, T., Leach, G., Zambetta, F.: Virtual subdivision for GPU based collision detection of deformable objects using a uniform grid. Vis. Comput. 28, 829–838 (2012)

    Article  Google Scholar 

  37. 37.

    Wong, W.S.K., Baciu, G.: A randomized marking scheme for continuous collision detection in simulation of deformable surfaces. In: Proceedings of the 2006 ACM international conference on Virtual reality continuum and its applications. VRCIA ’06, pp. 181–188. ACM, New York (2006)

  38. 38.

    Zhang, D., Yuen, M.F.: Collision detection for clothed human animation. In: Computer Graphics and Applications, 2000. Proceedings. The Eighth Pacific Conference on, pp. 328–337 (2000)

Download references

Acknowledgments

The cloth on ball and N-body benchmarks is courtesy of the UNC Dynamic Scene Benchmarks collection. The flamenco benchmark is courtesy of Walt Disney Animation Studios and was provided by Rasmus Tamstorf. The reef knot model was provided by David Harmon.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Tsz Ho Wong.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (mpg 1852 KB)

Supplementary material 2 (mpg 1716 KB)

Supplementary material 3 (mpg 1914 KB)

Supplementary material 4 (mpg 1780 KB)

Supplementary material 5 (mpg 2082 KB)

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Wong, T.H., Leach, G. & Zambetta, F. An adaptive octree grid for GPU-based collision detection of deformable objects. Vis Comput 30, 729–738 (2014). https://doi.org/10.1007/s00371-014-0954-1

Download citation

Keywords

  • Collision detection
  • Deformable objects
  • Octree grid
  • GPU-based