DOI QR코드

DOI QR Code

변형 물체를 위한 GPU 기반 병렬 충돌 감지

GPU-Based Parallel Collision Detection for Deformable Objects

  • 성낙준 (순천향대학교 컴퓨터학과) ;
  • 김민상 (순천향대학교 컴퓨터학과) ;
  • 홍민 (순천향대학교 컴퓨터소프트웨어공학과) ;
  • 최유주 (서울미디어대학원대학교 뉴미디어학부)
  • 투고 : 2017.11.14
  • 심사 : 2017.11.28
  • 발행 : 2018.01.31

초록

변형물체 시뮬레이션은 강체 시뮬레이션에 비해 많은 연산량을 요구하기 때문에 효과적인 충돌 검사 방법을 필요하다. 그러나 CPU 기반의 충돌 검사 알고리즘을 그대로 GPU 환경에 적용할 경우 GPU의 성능을 제대로 사용할 수 없기 때문에 GPU 환경에 최적화된 충돌 감지 알고리즘과 자료구조가 필요하다. 따라서 본 연구에서는 변형 물체 표현을 위해 널리 사용되고 있는 질량-스프링 시스템을 위한 GPU 기반의 병렬 충돌 감지 알고리즘을 제안한다. 제안하는 방법은 AABB-옥트리 구조를 이용한 GPU 기반의 컬링 알고리즘을 통해 충돌 감지 비용을 줄이는 병렬 알고리즘과 자료 구조를 사용하였다. 본 연구에서는 모든 삼각형 쌍의 충돌을 병렬로 검사하는 기존 방법과의 비교실험을 통하여 제안 알고리즘의 효율성을 입증하였다. 실험결과, 제안된 방법은 기존의 방법에 비해서 평균 약 24%의 성능 개선을 보였다. 따라서 제안하는 방법을 통해서 변형 물체에 대한 실시간 시뮬레이션의 성능 개선이 가능할 것으로 기대한다.

Due to heavy computational cost, deformable object simulation requires more effective collision detection method than rigid body simulation. However, when the CPU-based collision detection algorithm is purely applied to the GPU environment, the collision detection algorithm and the data structure optimized for the GPU environment are essential because the performance of the GPU can not be used properly. Therefore, we propose a GPU-based parallel collision detection algorithm for mass-spring system which is widely used for deformable object representation in this paper. The proposed method uses a parallel algorithm and data structure to reduce collision detection cost through GPU-based curling algorithm using AABB-Octree structure. In this paper, we prove the effectiveness of the proposed method by comparing the intersection test of all triangle pairs in parallel. The results of experimental tests show that the proposed method improves the performance by about 24% on average. Therefore, it is expected that the proposed method can improve the performance of real-time simulation for deformable objects.

키워드

참고문헌

  1. Shreiner, Dave, et al., "OpenGL programming guide: The Official guide to learning OpenGL, version 4.3," 2013.
  2. B. Burger, S. Bettinghausen, M. Radle, and J. Hesser, "Real-time GPU-based ultrasound simulation using deformable mesh models," IEEE Transactions on Medical Imaging, Vol.32, No.3, pp.609-618, 2013. https://doi.org/10.1109/TMI.2012.2234474
  3. G. Echegaray, I. Herrera, I. Aguinaga, C. Buchart, and D. Borro, "A brain surgery simulator," IEEE computer Graphics and Applications, Vol.34, No.3, pp.12-18, 2014. https://doi.org/10.1109/MCG.2014.43
  4. Nak-Jun Sung, Min Hong, Seung-Hyun Lee, and Yoo-Joo Choi, "Simulation of Deformable Objects using GLSL 4.3," KSII Transactions on Internet & Information Systems (TIIS), Vol.11, No.8, 2017.
  5. Imran Ghani, Min Sang Kim, Nak-Jun Sung, Min Hong, and Yoo-Joo Choi, "Real-Time Cloth Simulation using Unity Shader," in Proceedings. of The 12th Asia Pacific International Conference on Information Science and Technology (APIC-IST2017), 2017.
  6. David Baraff and Andrew Witkin, "Large Steps in Cloth Simulation," in Proceedings. of the 25th Annual Conference on Computer Graphics and Interactive Techniques, pp.43-54, 1998.
  7. Hang Si, "TetGen, a Delaunay-based quality tetrahedral mesh generator," ACM Transactions on Mathematical Software (TOMS), Vol.41, No.22, pp.11, 2015.
  8. D. Kim, J. P. Heo, J. Huh, J. Kim, and S. E. Yoon, "HPCCD: Hybrid parallel continuous collision detection using CPUs and GPUs," in Computer Graphics Forum, Vol.28, No.7, pp.1791-1800, 2009.
  9. M. Tang, D. Manocha, J. Lin, and R. Tong, "Collisionstreams: fast gpu-based collision detection for deformable models" in Symposium on Interactive 3D Graphics and Games ACM, pp.63-70, 2011.
  10. J. Mezger, S. Kimmerle, and O. Etzmuss, "Hierarchical Techniques in collision detection for cloth animation," Journal of WSCG, Vol.11, No.2, pp.322-329, 2003.
  11. A. Borrmann, S. Schraufstetter, and E. Rank. "Implementing metric operators of a spatial query language for 3D building models: octree and B-Rep approaches," Journal of Computing in Civil Engineering, Vol.23, No.1, pp.34-46, 2009. https://doi.org/10.1061/(ASCE)0887-3801(2009)23:1(34)
  12. X. Wang, M. Wang, and C. Li, "Research on Collision Detection Algorithm Based on AABB," ICNC, Vol.6, 2009.
  13. Y.-S. Xing, X. P. Liu, and S.-P. Xu, "Efficient collision detection based on AABB trees and sort algorithm," in 8th IEEE International Conference on Control and Automation (ICCA), 2010.
  14. Gino van den Bergen, "Efficient collision detection of complex deformable models using AABB trees," Journal of Graphics Tools, Vol.2, No.4, pp.1-13, 1997. https://doi.org/10.1080/10867651.1997.10487480
  15. J. H. Jeon, M. H. Choi, and M. Hong, "Enhanced FFD-AABB collision algorithm for deformable objects," Journal of Information Processing Systems, Vol.8, No.4, pp.713-720, 2012. https://doi.org/10.3745/JIPS.2012.8.4.713
  16. X. Zhang, and Y. J. Kim, "Interactive collision detection for deformable models using streaming AABBs," IEEE Transactions on Visualization and Computer Graphics, Vol.13, No.2, pp.318-329, 2007. https://doi.org/10.1109/TVCG.2007.42
  17. T. Moller, "A Fast Triangle-Triangle Intersection Test," Journal of graphics tools, Vol.2, No.2, pp.25-30, 1997. https://doi.org/10.1080/10867651.1997.10487472
  18. M. Tang, S. E. Yoon, and D. Manocha, "Adjacency-based culling for continuous collision detection," Visual Computer, Vol.24, No.7, pp.545-553, 2008. https://doi.org/10.1007/s00371-008-0235-y
  19. J. Barbic, and D. L. James, "Subspace self-collision culling," ACM Transactions on Graphics, Vol.29, No.4, pp.81, 2010. https://doi.org/10.1145/1778765.1778818