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.
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
Devillers O, Guigue P (2002) Faster triangle-triangle intersection tests. Report of Inria Sophia Antipolis
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
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
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
Guigue P, Devillers O (2003) Fast and robust triangle-triangle overlap test using orientation predicates. Journal of Graphics Tools 8(1):25–32
Held M (1997) ERIT - a collection of efficient and reliable intersection tests. Journal of Graphics Tools 2(4):25–44
Hendrich J, Meister D, Bittner J (2017) Parallel bvh construction using progressive hierarchical refinement. Computer Graphics Forum 36:487–494,05
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
Lee Y, Kim YJ (2010) Simple and parallel proximity algorithms for general polygonal models. Computer Animation and Virtual Worlds 21(3-4):365–374
Mazhar H, Heyn T, Negrut D (2011) A scalable parallel method for large collision detection problems. Multibody System Dynamics 26(1):37–55
Mei G (2014) Summary on several key techniques in 3D geological modeling. Sci World J, 2014
Mei G, Tian H (2016) Impact of data layouts on the efficiency of GPU-accelerated IDW interpolation. SpringerPlus 5(1):104
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
Möller T (1997) A fast triangle-triangle intersection test. Journal of Graphics Tools 2(2):25–30
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
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
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
NVIDIA (2019) CUDA Programming Guide
Pan J, Manocha D (2011) GPU-based parallel collision detection for real-time motion planning. Springer, Berlin, pp 211–228
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
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
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
Platt TM, Liu C (2018) Reducing test time with FPGA accelerators using OpenCL, pp 1–9
Qi X, Liu C, Schuckers S (2017) Key-frame analysis for face related video on GPU-accelerated embedded platform, pp 682–687
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
Shen H, Heng PA, Tang Z (2003) A fast triangle-triangle overlap test using signed distances. Journal of Graphics Tools 8(1):17–23
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
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
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
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
Weller R, Debowski N, Zachmann G (2017) kDet: parallel constant time collision detection for polygonal objects. Computer Graphics Forum 36(2):131–141
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
Ye X, Le H, Wang L, Xing H (2015) An improved algorithm for triangle to triangle intersection test, pp 2689–2694, 08
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
Zhang X, Kim YJ (2007) Interactive collision detection for deformable models using streaming AABBs. IEEE Trans Vis Comput Graph 13(2):318–329
Zhang R, Liu X, Wei J (2019) Collision detection based on OBB simplified modeling. Journal of Physics Conference Series 1213:042079
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
Zheng W, Ren G, Zhao L, Sun M (2020) Fast parallel algorithm of triangle intersection based on gpu. Physics Procedia, 33(none)
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
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-020-09066-3