Griffin, Wesley, Yu Wang, David Berrios, and Marc Olano. 2011.
GPU Surface Curvature Estimation on Deformable Meshes.
In Proceedings of the 2011 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D), 159-166 New York: ACM.
Best Paper Honorable Mention.
ACM DL - Updated PDF
Note: Section 3.5 in the ACM DL version has an incorrect equation. The updated PDF has the corrected equation.
Code and Data Sets
- HLSL Code
- Lee Perry-Smith: 3D Head Scan
- Doug James and Christopher Twigg: Skinning Mesh Animations
- Stefan Rottger: The Volume Library
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
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 multi-threaded CPU benchmark.