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.
Similar content being viewed by others
References
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)
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)
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)
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)
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)
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)
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)
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)
Grand, S.L.: Broad-phase collision detection with cuda. In: GPU Gems 3 (2007)
Greß, A., Guthe, M., Klein, R.: GPU-based collision detection for deformable parameterized surfaces. Comput. Graph. Forum 25(3), 497–506 (2006)
Harris, M.: Parallel Prefix Sum (Scan) with CUDA. In: GPU Gems 3 (2007)
Heidelberger, B., Teschner, M., Gross, M.: Detection of collisions and self-collisions using image-space techniques. J. WSCG 12(3), 145–152 (2004)
Heidelberger, B., Teschner, M., Gross, M.H.: Real-time volumetric intersections of deforming objects. In: VMV, pp. 461–468 (2003)
Hillis, W.D., Steele G.L., Jr.: Data parallel algorithms. Commun. ACM 29(12), 1170–1183 (1986). doi:10.1145/7902.7903
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)
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)
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)
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
Lauterbach, C., Garland, M., Sengupta, S., Luebke, D., Manocha, D.: Fast BVH construction on GPUs. Comput. Graph. Forum 28(2), 375–384 (2009)
Lauterbach, C., Mo, Q., Manocha, D.: gProximity: hierarchical GPU-based operations for collision and distance queries. Comput. Graph. Forum 29(2), 419–428 (2010)
Mezger, J., Kimmerle, S., Etzmu, O.: Hierarchical techniques in collision detection for cloth animation. J. WSCG 11(2), 322–329 (2003)
NVIDIA.: Cudashuffle: Cuda parallel prefix sum with shuffle intrinsics. In: Cuda samples (2013)
NVIDIA.: Cudpp: Cuda data parallel primitives library (2013)
Otaduy, M.A., Chassot, O., Steinemann, D., Gross, M.: Balanced hierarchies for collision detection between fracturing objects. Virtual Reality Conference, IEEE 83–90 (2007)
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)
Palmer, I.J., Grimsdale, R.L.: Collision detection for animation using sphere-trees. Comput. Graph. Forum 14(2), 105–116 (1995)
Provot, X.: Collision and self-collision handling in cloth model dedicated to design garments, vol. 97, pp. 177–189. Citeseer (1997)
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)
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)
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)
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)
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)
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)
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)
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
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)
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)
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)
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
Authors and Affiliations
Corresponding author
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
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-014-0954-1