The Community for Technology Leaders
RSS Icon
Issue No.05 - May (2011 vol.17)
pp: 669-681
Kun Zhou , Zhejiang University, HangZhou
Minmin Gong , Microsoft Research Asia, Beijing
Xin Huang , Microsoft Research Asia, Beijing
Baining Guo , Microsoft Research Asia, Beijing
We present the first parallel surface reconstruction algorithm that runs entirely on the GPU. Like existing implicit surface reconstruction methods, our algorithm first builds an octree for the given set of oriented points, then computes an implicit function over the space of the octree, and finally extracts an isosurface as a watertight triangle mesh. A key component of our algorithm is a novel technique for octree construction on the GPU. This technique builds octrees in real time and uses level-order traversals to exploit the fine-grained parallelism of the GPU. Moreover, the technique produces octrees that provide fast access to the neighborhood information of each octree node, which is critical for fast GPU surface reconstruction. With an octree so constructed, our GPU algorithm performs Poisson surface reconstruction, which produces high-quality surfaces through a global optimization. Given a set of 500K points, our algorithm runs at the rate of about five frames per second, which is over two orders of magnitude faster than previous CPU algorithms. To demonstrate the potential of our algorithm, we propose a user-guided surface reconstruction technique which reduces the topological ambiguity and improves reconstruction results for imperfect scan data. We also show how to use our algorithm to perform on-the-fly conversion from dynamic point clouds to surfaces as well as to reconstruct fluid surfaces for real-time fluid simulation.
Surface reconstruction, octree, programable graphics unit, marching cubes.
Kun Zhou, Minmin Gong, Xin Huang, Baining Guo, "Data-Parallel Octrees for Surface Reconstruction", IEEE Transactions on Visualization & Computer Graphics, vol.17, no. 5, pp. 669-681, May 2011, doi:10.1109/TVCG.2010.75
[1] NVIDIA “CUDA Programming Guide 2.0,” http://developer. , 2008.
[2] M. Kazhdan, M. Bolitho, and H. Hoppe, “Poisson Surface Reconstruction,” Proc. Eurographics Symp. Geometry Processing (SGP '06), pp. 61-70, 2006.
[3] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle, “Surface Reconstruction from Unorganized Points,” Proc. ACM SIGGRAPH '92, pp. 71-78, 1992.
[4] A. Sharf, T. Lewiner, G. Shklarski, S. Toledo, and D. Cohen-Or, “Interactive Topology-Aware Surface Reconstruction,” ACM Trans. Graphics, vol. 26, no. 3, pp. 43-1-43-9, 2007.
[5] J.-D. Boissonnat, “Geometric Structures for Three-Dimensional Shape Representation,” ACM Trans. Graphics, vol. 3, no. 4, pp. 266-286, 1984.
[6] N. Amenta, M. Bern, and M. Kamvysselis, “A New Voronoi-Based Surface Reconstruction Algorithm,” Proc. ACM SIGGRAPH '98, pp. 415-421, 1998.
[7] C.L. Bajaj, F. Bernardini, and G. Xu, “Automatic Reconstruction of Surfaces and Scalar Fields from 3d Scans,” Proc. ACM SIGGRAPH '95, pp. 109-118, 1995.
[8] R. Kolluri, J.R. Shewchuk, and J.F. O'Brien, “Spectral Surface Reconstruction from Noisy Point Clouds,” Proc. Eurographics Symp. Geometry Processing (SGP '04), pp. 11-21, 2004.
[9] B. Curless and M. Levoy, “A Volumetric Method for Building Complex Models from Range Images,” Proc. ACM SIGGRAPH '96, pp. 302-312, 1996.
[10] A. Hornung and L. Kobbelt, “Robust Reconstruction of Watertight 3d Models from Non-Uniformly Sampled Point Clouds without Normal Information,” Proc. Eurographics Symp. Geometry Processing (SGP '06), pp. 41-50, 2006.
[11] J.C. Carr, R.K. Beatson, J.B. Cherrie, T.J. Mitchell, W.R. Fright, B.C. McCallum, and T.R. Evans, “Reconstruction and Representation of 3d Objects with Radial Basis Functions,” Proc. ACM SIGGRAPH '01, pp. 67-76, 2001.
[12] G. Turk and J.F. O'Brien, “Modelling with Implicit Surfaces That Interpolate,” ACM Trans. Graphics, vol. 21, no. 4, pp. 855-873, 2002.
[13] Y. Ohtake, A. Belyaev, M. Alexa, G. Turk, and H.-P. Seidel, “Multi-Level Partition of Unity Implicits,” ACM Trans. Graphics, vol. 22, no. 3, pp. 463-470, 2003.
[14] M. Alexa, J. Behr, D. Cohen-Or, S. Fleishman, D. Levin, and C.T. Silva, “Point Set Surfaces,” Proc. IEEE Visualization '01, pp. 21-28, 2001.
[15] N. Amenta and Y.J. Kil, “Defining Point-Set Surfaces,” ACM Trans. Graphics, vol. 22, no. 3, pp. 264-270, 2004.
[16] Y. Lipman, D. Cohen-Or, and D. Levin, “Data-Dependent MLS for Faithful Surface Approximation,” Proc. Eurographics Symp. Geometry Processing (SGP '07), pp. 59-67, 2007.
[17] M. Randrianarivony and G. Brunnett, “Parallel Implementation of Surface Reconstruction from Noisy Samples,” Preprint Sonderforschungsbereich 393, SFB 393/02-16, 2002.
[18] N.A. Borghese, S. Ferrari, and V. Piuri, “Real-Time Surface Reconstruction through HRBF Networks,” Proc. IEEE Int'l Workshop Haptic Virtual Environments and Their Applications, pp. 19-24, 2002.
[19] K. Weinert, T. Surmann, and J. Mehnen, “Parallel Surface Reconstruction,” Proc. Fifth European Conf. Genetic Programming, pp. 93-102, 2002.
[20] C. Buchart, D. Borro, and A. Amundarain, “GPU Local Triangulation: An Interpolating Surface Reconstruction Algorithm,” Computer Graphics Forum, vol. 27, no. 3, pp. 807-814, 2008.
[21] M. Gopi, S. Krishnan, and C. Silva, “Surface Reconstruction Based on Lower Dimensional Localized Delaunay Triangulation,” Proc. Eurographics '00, pp. 467-478, 2000.
[22] Y.J. Kil and N. Amenta, “GPU-Assisted Surface Reconstruction on Locally-Uniform Samples,” Technical Report CSE-2008-8, UC, Davis, 2008.
[23] J. Wilhelms and A.V. Gelder, “Octrees for Faster Isosurface Generation,” ACM Trans. Graphics, vol. 11, no. 3, pp. 201-227, 1992.
[24] R. Westermann, L. Kobbelt, and T. Ertl, “Real-Time Exploration of Regular Volume Data by Adaptive Reconstruction of Isosurfaces,” The Visual Computer, vol. 15, no. 2, pp. 100-111, 1999.
[25] A.E. Lefohn, S. Sengupta, J. Kniss, R. Strzodka, and J.D. Owens, “Glift: Generic, Efficient, Random-Access GPU Data Structures,” ACM Trans. Graphics, vol. 25, no. 1, pp. 60-99, 2006.
[26] C. DeCoro and N. Tatarchuk, “Real-Time Mesh Simplification Using the gpu,” Proc. Symp. Interactive 3D Graphics (I3D '07), pp. 161-166, 2007.
[27] X. Sun, K. Zhou, E. Stollnitz, J. Shi, and B. Guo, “Interactive Relighting of Dynamic Refractive Objects,” ACM Trans. Graphics, vol. 27, no. 3, p. 35, 2008.
[28] K. Zhou, Q. Hou, R. Wang, and B. Guo, “Real-Time kd-Tree Construction on Graphics Hardware,” ACM Trans. Graphics, vol. 27, no. 5, p. 126, 2008.
[29] C. Lauterbach, M. Garland, S. Sengupta, D. Luebke, and D. Manocha1, “Fast BVH Construction on GPUs,” Computer Graphics Forum, vol. 28, no. 2, pp. 375-384, 2009.
[30] S. Popov, J. Günther, H.-P. Seidel, and P. Slusallek, “Stackless kd-Tree Traversal for High Performance GPU Ray Tracing,” Proc. Eurographics '07, pp. 415-424, 2007.
[31] M. Harris, J. Owens, S. Sengupta, Y. Zhang, and A. Davidson, “CUDPP Homepage,”, 2007.
[32] M. Harris, S. Sengupta, and J. Owens, “Parallel Prefix Sum (Scan) in CUDA,” GPU Gems 3, H. Nguyen, ed., p. Ch.31, Addison Wesley, 2007.
[33] J. Bolz, I. Farmer, E. Grinspun, and P. Schröder, “Sparse Matrix Solvers on the GPU: Conjugate Gradients and Multigrid,” ACM Trans. Graphics, vol. 22, no. 3, pp. 917-924, 2003.
[34] W.E. Lorensen and H.E. Cline, “Marching Cubes: A High Resolution 3d Surface Construction Algorithm,” Proc. ACM SIGGRAPH '87, pp. 163-169, 1987.
[35] M. Pauly, R. Keiser, L.P. Kobbelt, and M. Gross, “Shape Modeling with Point-Sampled Geometry,” ACM Trans. Graphics, vol. 22, no. 3, pp. 641-650, 2003.
[36] M. Müller, D. Charypar, and M. Gross, “Particle-Based Fluid Simulation for Interactive Applications,” Proc. Symp. Computer Animation (SCA '03), pp. 154-159, 2003.
[37] Y. Zhu and R. Bridson, “Animating Sand as a Fluid,” ACM Trans. Graphics, vol. 24, no. 3, pp. 965-972, 2005.
[38] D. Benson and J. Davis, “Octree Textures,” ACM Trans. Graphics, vol. 21, no. 3, pp. 785-790, 2002.
17 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool