The Community for Technology Leaders
RSS Icon
Issue No.10 - Oct. (2012 vol.18)
pp: 1603-1613
Wesley Griffin , University of Maryland, Baltimore County, Baltimore
Yu Wang , University of Maryland, Baltimore County, Baltimore
David Berrios , National Aeronautics and Space Administration, Greenbelt
Marc Olano , University of Maryland, Baltimore County, Baltimore
Surface curvature is used in a number of areas in computer graphics, including texture synthesis and shape representation, mesh simplification, surface modeling, and nonphotorealistic line drawing. Most real-time applications must estimate curvature on a triangular mesh. This estimation has been limited to CPU algorithms, forcing object geometry to reside in main memory. However, as more computational work is done directly on the GPU, it is increasingly common for object geometry to exist only in GPU memory. Examples include vertex skinned animations and isosurfaces from GPU-based surface reconstruction algorithms. For static models, curvature can be precomputed and CPU algorithms are a reasonable choice. For deforming models where the geometry only resides on the GPU, transferring the deformed mesh back to the CPU limits performance. We introduce a GPU algorithm for estimating curvature in real time on arbitrary triangular meshes. We demonstrate our algorithm with curvature-based NPR feature lines and a curvature-based approximation for an ambient occlusion. We show curvature computation on volumetric data sets with a GPU isosurface extraction algorithm and vertex-skinned animations. We present a graphics pipeline and CUDA implementation. Our curvature estimation is up to {\sim}18{\times} faster than a multithreaded CPU benchmark.
Graphics processing unit, Isosurfaces, Face recognition, Real time systems, ambient occlusion., Real-time rendering, GPU, geometry shader, curvature, line drawing
Wesley Griffin, Yu Wang, David Berrios, Marc Olano, "Real-Time GPU Surface Curvature Estimation on Deforming Meshes and Volumetric Data Sets", IEEE Transactions on Visualization & Computer Graphics, vol.18, no. 10, pp. 1603-1613, Oct. 2012, doi:10.1109/TVCG.2012.113
[1] G. Gorla, V. Interrante, and G. Sapiro, "Texture Synthesis for 3D Shape Representation," IEEE Trans. Visualization and Computer Graphics, vol. 9, no. 4, pp. 512-524, Oct./Dec. 2003.
[2] P. Heckbert and M. Garland, "Optimal Triangulation and Quadric-Based Surface Simplification," J. Computational Geometry: Theory and Applications, vol. 14, nos. 1-3, pp. 49-65, 1999.
[3] H.P. Moreton and C.H. Séquin, "Functional Optimization for Fair Surface Design," Proc. ACM SIGGRAPH '92 pp. 167-176, 1992.
[4] D. DeCarlo, A. Finkelstein, S. Rusinkiewicz, and A. Santella, "Suggestive Contours for Conveying Shape," ACM Trans. Graphics, vol. 22, no. 3, pp. 848-855, 2003.
[5] T. Judd, F. Durand, and E. Adelson, "Apparent Ridges for Line Drawing," ACM Trans. Graphics vol. 26, no. 3, pp. 19:1-19:7, 2007.
[6] M. Kolomenkin, I. Shimshoni, and A. Tal, "Demarcating Curves for Shape Illustration," ACM Trans. Graphics vol. 27, no. 5, pp. 157:1-157:9, 2008.
[7] T. Hattori, H. Kubo, and S. Morishima, "Curvature Depended Local Illumination Approximation of Ambient Occlusion," Proc. ACM SIGGRAPH '10, p. 1, 2010.
[8] Y. Kim, J. Yu, X. Yu, and S. Lee, "Line-Art Illustration of Dynamic and Specular Surfaces," ACM Trans. Graphics vol. 27, no. 5, pp. 156:1-156:10, 2008.
[9] E. Kalogerakis, D. Nowrouzezahrai, P. Simari, J. Mccrae, A. Hertzmann, and K. Singh, "Data-Driven Curvature for Real-Time Line Drawing of Dynamic Scenes," ACM Trans. Graphics, vol. 28, no. 1, pp. 11:1-11:13, 2009.
[10] T. Akenine-Möller, E. Haines, and N. Hoffman, Real-Time Rendering, third ed. CRC Press, 2008.
[11] W. Griffin, Y. Wang, D. Berrios, and M. Olano, "GPU Curvature Estimation on Deformable Meshes," Proc. Symp. Interactive 3D Graphics and Games, pp. 159-166, 2011.
[12] B. O'Neill, Elementary Differential Geometry, second ed. Academic Press, Inc., 2006.
[13] S. Rusinkiewicz, "Estimating Curvatures and Their Derivatives on Triangle Meshes," Proc. Second Int'l Symp. 3D Data Processing, Visualization and Transmission, pp. 486-493, 2004.
[14] G. Taubin, "Estimating the Tensor of Curvature of a Surface from a Polyhedral Approximation," Proc. Fifth Int'l Conf. Computer Vision (ICCV '95), pp. 902-907, 1995.
[15] S. Petitjean, "A Survey of Methods for Recovering Quadrics in Triangle Meshes," ACM Computing Surveys, vol. 34, no. 2, pp. 211-262, 2002.
[16] J. Goldfeather and V. Interrante, "A Novel Cubic-Order Algorithm for Approximating Principal Direction Vectors," ACM Trans. Graphics, vol. 23, no. 1, pp. 45-63, 2004.
[17] W.-S. Tong and C.-K. Tang, "Robust Estimation of Adaptive Tensors of Curvature by Tensor Voting," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 27, no. 3, pp. 434-449, Mar. 2005.
[18] T.D. Gatzke and C.M. Grimm, "Estimating Curvature on Triangular Meshes," Int'l J. Shape Modeling, vol. 12, no. 1, pp. 1-28, June 2006.
[19] H. Theisel, C. Rossi, R. Zayer, and H. Seidel, "Normal Based Estimation of the Curvature Tensor for Triangular Meshes," Proc. 12th Pacific Conf. Computer Graphics and Applications, pp. 288-297, 2004.
[20] R.L. Cook and K.E. Torrance, "A Reflectance Model for Computer Graphics," Proc. ACM SIGGRAPH '81, pp. 307-316, 1981.
[21] S. Zhukov, A. Inoes, and G. Kronin, "An Ambient Light Illumination Model," Rendering Techniques '98: Proc. Eurographics Workshop, Eurographics, G. Drettakis and N. Max, eds., pp. 45-56, 1998.
[22] M. Mittring, "Finding Next Gen: Cryengine 2," Proc. ACM SIGGRAPH '07, pp. 97-121, 2007.
[23] L. Bavoil, M. Sainz, and R. Dimitrov, "Image-Space Horizon-Based Ambient Occlusion," Proc. ACM SIGGRAPH '08, pp. 1-1, 2008.
[24] V. Kajalin, "Screen Space Ambient Occlusion," Shader $X^7$ , chapter 6.1, pp. 413-424, Charles River Media, 2009.
[25] L. Bavoil and M. Sainz, "Multi-Layer Dual-Resolution Screen-Space Ambient Occlusion," Proc. ACM SIGGRAPH '09, p. 1, 2009.
[26] J. Kontkanen and S. Laine, "Ambient Occlusion Fields," Proc. Symp. Interactive 3D Graphics and Games, pp. 41-48, 2005.
[27] M. McGuire, "Ambient Occlusion Volumes," Proc. ACM Conf. High Performance Graphics (HPG '10), June 2010.
[28] B.J. Loos and P.-P. Sloan, "Volumetric Obscurance," Proc. ACM SIGGRAPH, pp. 151-156, 2010.
[29] J. Kontkanen and T. Alia, "Ambient Occlusion for Animated Characters," Rendering '06: Proc. Eurographics Symp., T. Akenine-Möller and W. Heidrich, eds., 2006.
[30] A.G. Kirk and O. Arikan, "Real-Time Ambient Occlusion for Dynamic Character Skins," Proc. Symp. Interactive 3D Graphics and Games (I3D '07), pp. 47-52, 2007.
[31] W.E. Lorensen and H.E. Cline, "Mar. Cubes: A High Resolution 3D Surface Construction Algorithm," Proc. ACM SIGGRAPH '87, pp. 163-169, 1987.
[32] G. Treece, R.W. Prager, and A.H. Gee, "Regularised Marching Tetrahedra: Improved Iso-Surface Extraction," Computers & Graphics, vol. 23, no. 4, pp. 583-598, Aug. 1999.
[33] R. Geiss, "Generating Complex Procedural Terrains Using the GPU," GPU Gems 3, chapter 1, pp. 7-37, Addison-Wesley Professional, 2007.
[34] N. Satish, M. Harris, and M. Garland, "Designing Efficient Sorting Algorithms for Manycore GPUs," Proc. IEEE 23rd Int'l Parallel and Distributed Processing Symp. (IPDPS '09), pp. 1-10, 2009.
[35] M. Meyer, M. Desbrun, P. Schröder, and A.H. Barr, "Discrete Differential-Geometry Operators for Triangulated 2-Manifolds," Visualization and Mathematics III, pp. 35-57, Springer-Verlag, 2003.
[36] F. Cole and A. Finkelstein, "Fast High-Quality Line Visibility," Proc. Symp. Interactive 3D Graphics and Games (I3D '09), pp. 115-120, 2009.
[37] S. Rusinkiewicz, "Trimesh2," Accessed Mar. http://www.cs. , 2009.
[38] D. James and C. Twigg, "Skinning Mesh Animations," Accessed Nov.,, 2009.
[39] S. Röttger, "The Volume Library," Accessed Jan., vollib, 2010.
[40] L. Perry-Smith, "Infinite, 3D Head Scan," Accessed Oct., , 2010.
[41] R. White, K. Crane, and D. Forsyth, "Capturing and Animating Occluded Cloth," ACM Trans. Graphics vol. 26, no. 3, pp. 34:1-34:8, 2007.
[42] I. Wald, "Utah 3D Animation Repository," Accessed Oct.,, 2011.
37 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool