Computing Smooth Surface Contours with Accurate Topology
|Pierre Bénard1,2 Aaron Hertzmann1,3,4 Michael Kass4|
|1University of Toronto 2Université de Bordeaux, LaBRI, CNRS, Inria 3Adobe Systems, Inc. 4Pixar Animation Studios|
ACM Transactions on Graphics, ACM, 2014, 33 (2)
This paper introduces a method for accurately computing the visible contours of a smooth 3D surface for stylization. This is a surprisingly difficult problem, and previous methods are prone to topological errors, such as gaps in the outline. Our approach is to generate, for each viewpoint, a new triangle mesh with contours that are topologically-equivalent and geometrically close to those of the original smooth surface. The contours of the mesh can then be rendered with exact visibility. The core of the approach is Contour-Consistency, a way to prove topological equivalence between the contours of two surfaces. Producing a surface tessellation that satisfies this property is itself challenging; to this end, we introduce a type of triangle that ensures consistency at the contour. We then introduce an iterative mesh generation procedure, based on these ideas. This procedure does not fully guarantee consistency, but errors are not noticeable in our experiments. Our algorithm can operate on any smooth input surface representation; we use Catmull-Clark subdivision surfaces in our implementation. We demonstrate results computing contours of complex 3D objects, on which our method eliminates the contour artifacts of other methods.
- Source code
Disclaimer: This version of the mesh generation code is not exactly the same as the one used for producing the results in the paper. (We switched to OpenSubdiv to be able to release it.) The precision of the root-finding procedure is lower, which may impact the tesselation.
- Dataset (77MB)
- Keynote slides (120MB)