Quasi-Delaunay Triangulations Using GPU-Based Edge-Flips
The edge-flip technique has been widely used for transforming any existing triangular mesh into a Delaunay mesh. Although several tools for generating Delaunay triangulations are known, there is no one that offers a realtime solution capable of maintaining the Delaunay condition on dynamically changing triangulations and, in particular, one integrable with the OpenGL rendering pipeline. In this paper we present an iterative GPGPU-based method capable of improving triangulations under the Delaunay criterion. Since the algorithm uses an \(\epsilon \) value to handle co-circular or close to co-circular point configurations, a low percentage of triangles do not fulfill the Delaunay condition. We have compared the triangulations generated by our method with the ones generated by the Triangle software and by the CGAL library and we obtained less than 0.05 % different triangles for full random meshes and less than 1 % for noise based ones. Based on our experimental results, we report speedups from 14\(\times \) to 50\(\times \) against Lawson’s sequential algorithm and of approximately 3\(\times \) against the CGAL’s and Triangle’s constructive algorithms when processing full random triangulations. In our noise based tests we report up to 36\(\times \) and 27\(\times \) of speedup against CGAL and Triangle, respectively.
KeywordsDelaunay triangulations Edge-flip technique Parallel realtime applications CUDA OpenGL GPGPU
The authors would like to thank CONICYT for supporting the PhD program of Cristóbal A. Navarro. This work was also partially supported by Fondecyt Project \(N^o\) 1120495.
- 1.Antonopoulos, C.D., Ding, X., Chernikov, A., Blagojevic, F., Nikolopoulos, D.S., Chrisochoides, N.: Multigrain parallel Delaunay mesh generation: challenges and opportunities for multithreaded architectures. In: Proceedings of the 19th Annual International Conference on Supercomputing, ICS ’05, pp. 367–376. ACM, New York (2005)Google Scholar
- 2.Cao, T.T.: Computing 2d Delaunay triangulation using GPU. Manuscript in preparation (2010)Google Scholar
- 5.Edelsbrunner, H.: Geometry and topology for mesh generation (Cambridge monographs on applied and computational mathematics) (2001)Google Scholar
- 7.Harada, T.: A parallel constraint solver for a rigid body simulation. In: SIGGRAPH Asia: Sketches, SA ’11, pp. 22:1–22:2. ACM, New York (2011)Google Scholar
- 8.Healey, R.G., Minetar, M.J., Dowers, S. (eds.): Parallel Processing Algorithms for GIS. Taylor & Francis Inc., Bristol (1997)Google Scholar
- 11.Navarro, C., Hitschfeld-Kahler, N., Scheihing, E.: A parallel GPU-based algorithm for Delaunay edge-flips. Abstracts from 27th European Workshop on Computational Geometry (EUROCG2011), Morschach, Switzerland, pp. 75–78 (2011)Google Scholar
- 12.Nvidia: NVIDIA CUDA Compute Unified Device Architecture - Programming Guide (2011)Google Scholar
- 13.Rong, G., Tan, T.-S., Cao, T.-T., Stephanus: Computing two-dimensional Delaunay triangulation using graphics hardware. In: I3D ’08: Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games, pp. 89–97. ACM, New York (2008)Google Scholar
- 14.Shewchuk, J.R.: Triangle: engineering a 2d quality mesh generator and Delaunay triangulator. In: ACM (ed.) First Workshop on Applied Computational Geometry, Philadelphia, Pennsylvania, pp. 124–133 (1996)Google Scholar
- 15.CGAL: cgal, Computational Geometry Algorithms Library (2012). http://www.cgal.org
- 16.Tobler, R.F., Maierhofer, S.: A mesh data structure for rendering and subdivision. In: WSCG ’2006: Proceedings of WSCG (International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision), pp. 157–162 (2006)Google Scholar