Skip to main content
Log in

Comparative investigation of GPU-accelerated triangle-triangle intersection algorithms for collision detection

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

Efficient collision detection is critical in 3D geometric modeling. In this paper, we first implement three parallel triangle-triangle intersection algorithms on a GPU and then compare the computational efficiency of these three GPU-accelerated parallel triangle-triangle intersection algorithms in an application that detects collisions between triangulated models. The presented GPU-based parallel collision detection method for triangulated models has two stages: first, we propose a straightforward and efficient parallel approach to reduce the number of potentially intersecting triangle pairs based on AABBs, and second, we conduct intersection tests with the remaining triangle pairs in parallel based on three triangle-triangle intersection algorithms, i.e., the Möller’s algorithm, Devillers’ and Guigue’s algorithm, and Shen’s algorithm. To evaluate the performance of the presented GPU-based parallel collision detection method for triangulated models, we conduct four groups of benchmarks. The experimental results show the following: (1) the time required to detect collisions for the triangulated model consisting of approximately 1.5 billion triangle pairs is less than 0.5 s; (2) the GPU-based parallel collision detection method speedup over the corresponding serial version is 50x - 60x, and (3) Devillers’ and Guigue’s algorithm is comparatively and comprehensively the best of the three GPU-based parallel triangle-triangle intersection algorithms. The presented GPU-accelerated method is capable of efficiently detecting the potential collisions of triangulated models. Overall, the GPU-accelerated parallel Devillers’ and Guigue’s triangle-triangle intersection algorithm is recommended when performing practical collision detections between large triangulated models.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Abbreviations

AABB:

Axially Aligned Bounding Box

BVH:

Bounding Volume Hierarchy

CPU:

Central Processing Unit

CUDA:

Compute Unified Device Architecture

DOP:

Discrete Orientation Polytope

FPGA:

Field Programmable Gate Array

GPU:

Graphics Processing Unit

IoT:

Internet of Things

OBB:

Oriented Bounding Box

References

  1. Devillers O, Guigue P (2002) Faster triangle-triangle intersection tests. Report of Inria Sophia Antipolis

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

    Article  Google Scholar 

  3. Fan WS, Wang B, Paul J-C, Sun JG (2013) An octree-based proxy for collision detection in large-scale particle systems. Sci China Inform Sci 56(1):1–10

    Article  MathSciNet  Google Scholar 

  4. Giles MB, Mudalige GR, Spencer B, Bertolli C, Reguly I (2013) Designing OP2 for GPU architectures. Journal of Parallel and Distributed Computing 73(11):1451–1460

    Article  Google Scholar 

  5. Guigue P, Devillers O (2003) Fast and robust triangle-triangle overlap test using orientation predicates. Journal of Graphics Tools 8(1):25–32

    Google Scholar 

  6. Held M (1997) ERIT - a collection of efficient and reliable intersection tests. Journal of Graphics Tools 2(4):25–44

    Article  Google Scholar 

  7. Hendrich J, Meister D, Bittner J (2017) Parallel bvh construction using progressive hierarchical refinement. Computer Graphics Forum 36:487–494,05

    Article  Google Scholar 

  8. Laccetti G, Lapegna M, Mele V (2016) A loosely coordinated model for heap-based priority queues in multicore environments. Int J Parallel Prog 44(4):901–921

    Article  Google Scholar 

  9. Lee Y, Kim YJ (2010) Simple and parallel proximity algorithms for general polygonal models. Computer Animation and Virtual Worlds 21(3-4):365–374

    Google Scholar 

  10. Mazhar H, Heyn T, Negrut D (2011) A scalable parallel method for large collision detection problems. Multibody System Dynamics 26(1):37–55

    Article  Google Scholar 

  11. Mei G (2014) Summary on several key techniques in 3D geological modeling. Sci World J, 2014

  12. Mei G, Tian H (2016) Impact of data layouts on the efficiency of GPU-accelerated IDW interpolation. SpringerPlus 5(1):104

    Article  Google Scholar 

  13. Mei G, Xu N, Qin J, Wang B, Qi P (2019) A survey of internet of things (IoT) for geo-hazards prevention applications, technologies, and challenges. IEEE Internet of Things Journal, pp 1–16

  14. Möller T (1997) A fast triangle-triangle intersection test. Journal of Graphics Tools 2(2):25–30

    Article  Google Scholar 

  15. Montella R, Kelly D, Xiong W, Brizius A, Elliott J, Madduri R, Maheshwari K, Porter C, Vilter P, Wilde M, Zhang M, Face-it IF (2015) A science gateway for food security research. Concurrency and Computation: Practice and Experience 27(16):4423–4436

    Article  Google Scholar 

  16. Montella R, Giunta G, Laccetti G, Lapegna M, Palmieri C, Ferraro C, Pelliccia V, Hong C-, Spence I, Nikolopoulos DS (2017) On the virtualization of cuda based gpu remoting on arm and x86 machines in the gvirtus framework. Int J Parallel Prog 45(5):1142–1163

    Article  Google Scholar 

  17. Montella R, Luccio DD, Marcellino L, Galletti A, Kosta S, Giunta G, Foster I (2019) Workflow-based automatic processing for internet of floating things crowdsourced data. Future Generation Computer Systems 94:103–119

    Article  Google Scholar 

  18. NVIDIA (2019) CUDA Programming Guide

  19. Pan J, Manocha D (2011) GPU-based parallel collision detection for real-time motion planning. Springer, Berlin, pp 211–228

    MATH  Google Scholar 

  20. Pei S, Kim M-S, Gaudiot J-L (2016) Extending Amdahl’s law for heterogeneous multicore processor with consideration of the overhead of data preparation. IEEE Embed Syst Lett 8(1):26–29

    Article  Google Scholar 

  21. Pei S, Zhang J, Xiong N, Kim M-S, Gaudiot J-L (2018) Energy efficiency of heterogeneous multicore system based on the enhanced Amdahl’s law. Int J High Performance Comput Netw 12(3):261–269

    Article  Google Scholar 

  22. Piccialli F, Cuomo S, Cola V, Casolla G (2019) A machine learning approach for iot cultural data. Journal of Ambient Intelligence and Humanized Computing, 09

  23. Platt TM, Liu C (2018) Reducing test time with FPGA accelerators using OpenCL, pp 1–9

  24. Qi X, Liu C, Schuckers S (2017) Key-frame analysis for face related video on GPU-accelerated embedded platform, pp 682–687

  25. Qi W, Li J, Liu Y, Liu C (2019) Planning of distributed internet data center microgrids. IEEE Transactions on Smart Grid 10(1):762–771

    Article  Google Scholar 

  26. Shen H, Heng PA, Tang Z (2003) A fast triangle-triangle overlap test using signed distances. Journal of Graphics Tools 8(1):17–23

    Google Scholar 

  27. Thompson E, Clem N, Peter DA, Bryan J, Peterson BI, Holbrook D (2015) Parallel cuda implementation of conflict detection for application to airspace deconfliction. J Supercomput 71(10):3787–3810

    Article  Google Scholar 

  28. Tropp O, Tal A, Shimshoni I (2006) A fast triangle to triangle intersection test for collision detection. Computer Animation and Virtual Worlds 17(5):527–535

    Article  Google Scholar 

  29. Vigueras G, Orduña JM, Lozano M, Cecilia JM, García JM (2014) Accelerating collision detection for large-scale crowd simulation on multi-core and many-core architectures. Int J High Performance Comput Appl 28(1):33–49

    Article  Google Scholar 

  30. Wang X, Tang M, Manocha D, Tong R (2018) Efficient BVH-based collision detection scheme with ordering and restructuring. Computer Graphics Forum 37(2):227–237

    Article  Google Scholar 

  31. Weller R, Debowski N, Zachmann G (2017) kDet: parallel constant time collision detection for polygonal objects. Computer Graphics Forum 36(2):131–141

    Article  Google Scholar 

  32. Wong TH, Leach G, Zambetta F (2014) An adaptive octree grid for GPU-based collision detection of deformable objects. Visual Computer 30(6-8):729–738

    Article  Google Scholar 

  33. Ye X, Le H, Wang L, Xing H (2015) An improved algorithm for triangle to triangle intersection test, pp 2689–2694, 08

  34. Yong B, Shen J, Sun H, Chen H, Zhou Q (2017) Parallel GPU-based collision detection of irregular vessel wall for massive particles. Clust Comput 20(3):2591–2603

    Article  Google Scholar 

  35. Zhang X, Kim YJ (2007) Interactive collision detection for deformable models using streaming AABBs. IEEE Trans Vis Comput Graph 13(2):318–329

    Article  Google Scholar 

  36. Zhang R, Liu X, Wei J (2019) Collision detection based on OBB simplified modeling. Journal of Physics Conference Series 1213:042079

    Article  Google Scholar 

  37. Zhao W, Chen C-S, Li L-J (2010) Parallel collision detection algorithm based on OBB tree and MapReduce. Lect Notes Comput Sci 6249:610–620

    Article  Google Scholar 

  38. Zheng W, Ren G, Zhao L, Sun M (2020) Fast parallel algorithm of triangle intersection based on gpu. Physics Procedia, 33(none)

Download references

Acknowledgements

This research was jointly supported by the National Natural Science Foundation of China (Grant Numbers: 11602235 and 41772326), and the Fundamental Research Funds for China Central Universities (Grant Numbers: 2652018091, 2652018107 and 2652-018109). The authors would like to thank the editor and the reviewers for their contributions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gang Mei.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Xiao, L., Mei, G., Cuomo, S. et al. Comparative investigation of GPU-accelerated triangle-triangle intersection algorithms for collision detection. Multimed Tools Appl 81, 3165–3180 (2022). https://doi.org/10.1007/s11042-020-09066-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-020-09066-3

Keywords

Navigation