GPU curvature estimation on deformable meshes

Surface curvature is used in a number of areas in computer graphics, including texture synthesis and shape representation, mesh simplification, surface modeling, and non-photorealistic 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 pre-computed 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 ambient occlusion. We show curvature computation on volumetric datasets with a GPU isosurface extraction algorithm and vertex-skinned animations. Our curvature estimation is up to ~18x faster than a multithreaded CPU benchmark.

[1]  Mark Meyer,et al.  Discrete Differential-Geometry Operators for Triangulated 2-Manifolds , 2002, VisMath.

[2]  Peter-Pike J. Sloan,et al.  Volumetric obscurance , 2010, I3D '10.

[3]  Tomas Akenine-Möller,et al.  Real-time rendering, 3rd Edition , 2008 .

[4]  Sergey Zhukov,et al.  An Ambient Light Illumination Model , 1998, Rendering Techniques.

[5]  Carlo H. Séquin,et al.  Functional optimization for fair surface design , 1992, SIGGRAPH.

[6]  Andrew H. Gee,et al.  Regularised marching tetrahedra: improved iso-surface extraction , 1999, Comput. Graph..

[7]  B. O'neill Elementary Differential Geometry , 1966 .

[8]  A. Pressley Elementary Differential Geometry , 2000 .

[9]  Frédo Durand,et al.  Apparent ridges for line drawing , 2007, ACM Trans. Graph..

[10]  Chi-Keung Tang,et al.  Robust estimation of adaptive tensors of curvature by tensor voting , 2005, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[11]  Doug L. James,et al.  Skinning mesh animations , 2005, ACM Trans. Graph..

[12]  Martin Mittring,et al.  Finding next gen: CryEngine 2 , 2007, SIGGRAPH Courses.

[13]  Hayden Landis,et al.  Production-Ready Global Illumination , 2004 .

[14]  Shigeo Morishima,et al.  Curvature depended local illumination approximation of ambient occlusion , 2010, SIGGRAPH '10.

[15]  Christian Rössl,et al.  Normal based estimation of the curvature tensor for triangular meshes , 2004, 12th Pacific Conference on Computer Graphics and Applications, 2004. PG 2004. Proceedings..

[16]  Adam Finkelstein,et al.  Suggestive contours for conveying shape , 2003, ACM Trans. Graph..

[17]  Seungyong Lee,et al.  Line-art illustration of dynamic and specular surfaces , 2008, SIGGRAPH 2008.

[18]  Derek Nowrouzezahrai,et al.  Data-driven curvature for real-time line drawing of dynamic scenes , 2009, ACM Trans. Graph..

[19]  Guillermo Sapiro,et al.  Texture Synthesis for 3D Shape Representation , 2003, IEEE Trans. Vis. Comput. Graph..

[20]  Okan Arikan,et al.  Real-time ambient occlusion for dynamic character skins , 2007, SI3D.

[21]  Michael Garland,et al.  Designing efficient sorting algorithms for manycore GPUs , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[22]  William E. Lorensen,et al.  Marching cubes: A high resolution 3D surface construction algorithm , 1987, SIGGRAPH.

[23]  Szymon Rusinkiewicz,et al.  Estimating curvatures and their derivatives on triangle meshes , 2004, Proceedings. 2nd International Symposium on 3D Data Processing, Visualization and Transmission, 2004. 3DPVT 2004..

[24]  Louis Bavoil,et al.  Image-space horizon-based ambient occlusion , 2008, SIGGRAPH '08.

[25]  Morgan McGuire,et al.  Ambient occlusion volumes , 2010, I3D '10.

[26]  Louis Bavoil,et al.  Multi-layer dual-resolution screen-space ambient occlusion , 2009, SIGGRAPH '09.

[27]  Ilan Shimshoni,et al.  Demarcating curves for shape illustration , 2008, SIGGRAPH 2008.

[28]  Hubert Nguyen,et al.  GPU Gems 3 , 2007 .

[29]  Timo Aila,et al.  Ambient occlusion for animated characters , 2006, EGSR '06.

[30]  Sylvain Petitjean,et al.  A survey of methods for recovering quadrics in triangle meshes , 2002, CSUR.

[31]  Adam Finkelstein,et al.  Fast high-quality line visibility , 2009, I3D '09.

[32]  Victoria Interrante,et al.  A novel cubic-order algorithm for approximating principal direction vectors , 2004, TOGS.

[33]  Michael Garland,et al.  Optimal triangulation and quadric-based surface simplification , 1999, Comput. Geom..

[34]  Samuli Laine,et al.  Ambient occlusion fields , 2005, I3D '05.

[35]  Gabriel Taubin,et al.  Estimating the tensor of curvature of a surface from a polyhedral approximation , 1995, Proceedings of IEEE International Conference on Computer Vision.

[36]  Cindy Grimm,et al.  Estimating Curvature on Triangular Meshes , 2006, Int. J. Shape Model..