Robust GPU-based intersection algorithm for a large triangle set

GPU를 이용한 대량 삼각형 교차 알고리즘

  • Received : 2011.05.26
  • Accepted : 2011.08.26
  • Published : 2011.09.01

Abstract

Computing triangle-triangle intersections has been a fundamental task required for many 3D geometric problems. We propose a novel robust GPU algorithm to efficiently compute intersections in a large triangle set. The algorithm has three stages:k-d tree construction, triangle pair generation, and exact intersection computation. All three stages are executed on GPU except, for unsafe triangle pairs. Unsafe triangle pairs are robustly handled by CLP(controlled linear perturbation) on a CPU thread. They are identified by floating-point filtering while exact intersection is computed on GPU. Many triangles crossing a split plane are duplicated in k-d tree construction, which form a lot of redundant triangle pairs later. To eliminate them efficiently, we use a split index which can determine redundancy of a pair by a simple bitwise operation. We applied the proposed algorithm to computing 3D Minkowski sum boundaries to verify its efficiency and robustness.

삼각형간의 교차 계산은 많은 3 차원 기하 문제들을 해결하는데 있어서 기본적으로 요구되는 연산 과정이다. 본 논문에서는 대량의 삼각형 집합 안에서의 교차 계산을 효율적이며 강인하게 처리할 수 있는 GPU 알고리즘을 제안한다. 이 알고리즘은 k-d 트리의 구성, 삼각형쌍 생성, 정확한 교차 계산을 모두 GPU에서 처리한다. 여기서 사용되는 k-d 트리에서는 분할 과정 중에 삼각형들의 복사가 많이 발생한다. 이렇게 복사된 삼각형들로 인하여 중복된 삼각형쌍들이 많이 생성되는데, 이러한 중복 삼각형쌍들을 효율적으로 제거하기 위하여 분할 인덱스를 도입하였다. 분할 인덱스는 간단한 논리곱 연산만으로 중복 여부를 효과적으로 판단할 수 있다. 수치적 강인성을 높이기 위하여는 부동소숫점 필터링을 통해 불안전한 삼각형쌍들을 분리하고, CLP(controlled linear perturbation)를 이용하여 CPU쓰레드에서 처리하도록 하였다. 제안한 알고리즘은 기존의 민코스키합 알고리즘의 합삼각형 교차계산에 적용하여 효율성과 강인성을 입증하였다.

Keywords

References

  1. S. Gottschalk, M.C. Lin, and D. Manocha, "Obbtree: A hierarchical structure for rapid interference detection," in Proceedings of the 23rd annual conference on Computer graphics and interactive techniques, ser. SIGGRAPH'96. ACM, Jun 1996, pp. 171-180.
  2. C. Lauterbach, M. Garland, S. Sengupta, D. Luebke, and D. Manocha, "Fast bvh construction on gpus," Eurographics 2009, vol. 28, no. 2, pp. 1-10, Dec 2009.
  3. C. Lauterbach, Q. Mo, and D. Manocha, "gproximity: Hierarchical gpu-based operations for collision and distance queries," Computer Graphics Forum, Jan 2010.
  4. H. Samet, The Design and Analysis of Spatial Data Structures. Addision-Wesley, 1989.
  5. I. Wald and V. Havran, "On building fast kd-trees for ray tracing, and on doing that in o(nlogn)," in Proceedings of the 2006 IEEE Symposium on Interactive Ray Tracing, Jan 2006, pp. 61-69.
  6. K. Zhou, Q. Hou, R. Wang, and B. Guo, "Real-time kd-tree construction on graphics hardware," ACM Transactions on Graphics, vol. 27, no. 5, pp. 126:1-126:11, Dec 2008.
  7. W. Jung, H. Shin, and B. K. Choi, "Self-intersection removal in triangular mesh offsetting;' Computer-Aided Design and Applications, vol. 1, pp. 477-484, Jan 2004. https://doi.org/10.1080/16864360.2004.10738290
  8. P. Volino and N. M. Thalmann, "Efficient self-collision detection on smoothly discretized surface animations using geometrical shape regularity," Computer Graphics Forum, vol. 13, no. 3, pp. 155-166, August 1994. https://doi.org/10.1111/1467-8659.1330155
  9. M. Campen and L. Kobbelt, "Exact and robust (self) intersections for polygonal meshes," Computer Graphics Forum, vol. 29, no. 2, pp. 397-406, Jan 2010.
  10. M. Campen and L. Kobbelt, "Polygonal boundary evaluation of minkowski sums and swept volums," Computer Graphics Forum, vol. 29, no. 5, pp. 1613-1622, 2010.
  11. V. Milenkovic, E. Sacks, and M.-H. Kyung, "Robust minkowski sums of polyhedra via controlled linear perturbation," in Proceedings of Symposium on Solid and Physical Modeling 2010, Jan 2010, pp. 23-30.
  12. M. Harris, S. Sengupta, and J. D. Owens, "Parallel prefix sum (scan) with cuda," in GPU Gems 3, H. Nguyen, Ed. Addison Wesley, August 2007, ch. 39, pp. 851-876.
  13. O. Tropp, A. Tal, and I. Shimshoni, "A fast triangle to triangle intersection test for collision detection," Computer Animation and Virtual Worlds, vol. 17, pp. 527-535, 2006. https://doi.org/10.1002/cav.115
  14. S. Abrams and P. K. Alien, "Computing swept volumes," Journal of Visualization and Computer Animation, vol. 11, pp. 69-82, Jan 2000. https://doi.org/10.1002/1099-1778(200005)11:2<69::AID-VIS219>3.0.CO;2-7
  15. A. Requicha and H. Voelcker, "Boolean operations in solid modeling: Boundary evaluation and merging algorithms," in Proceedings of the IEEE, Jan 1985, pp. 30-44.
  16. X. Zhang, Y. J. Kim, and D. Manocha, "Reliable sweeps," in 2009 SIAMIACM Joint Conference on Geometric and Solid Modeling. ACM, Aug 2009, pp. 373-378.
  17. Y. J. Kim, G. Varadhan, M. C. Lin, and D. Manocha, "Fast swept volume approximation of complex polyhedral models," Computer-Aided Design, vol. 36, pp. 1013-1027, Jun 2004. https://doi.org/10.1016/j.cad.2004.01.004