Subdivision Surfaces Computational Geometry Presentation Adam Lake Motivation
Subdivision Surfaces Computational Geometry Presentation Adam Lake
Motivation • • Scalability across machines Speed of evaluation LOD in a scene Topological restrictions of NURBS surfaces – Planes, Cylinders, and Torii
Motivation – Trimming is expensive and prone to numerical error – It is difficult to maintain smoothness at seams of patchwork. • Example: hiding seams in Woody (Toy Story) [De. Rose 98] • Advantage of NURBS: Trimmed NURBS are readily available in commercial systems!!
Subdivisions of Talk • • • 2 D and 3 D Examples Give data structure for geometry Define B-spline curve Derive splitting matrix for bicubics Define arbitrary topology splitting rules Define extraordinary vertices, Doo-Sabin surfaces
2 D subdivision curve example • De Casteljau curve [Foley 90] P 2 P 3 P 4 P 1
2 D subdivision curve example • De Casteljau curve [Foley 90] P 2 L 3=(L 2+H)/2 L 2=(P 1+P 2)/2 P 1=L 1 H=(P 2+P 3)/2 P 3 R 2=(H+R 3)/2 L 4=R 1=(L 3+R 2)/2 R 3=(P 3+P 4)/2 P 4=R 4
3 D subdivision surface example
Major categories of subdivision surfaces * Catmull-Clark [Catmull 78] • Doo-Sabin [Doo 78] • Loop [Loop 87] • Butterfly scheme [Dyn 90]
Subdivision Surface Data Structure A mesh is a pair (K, V) where K is a simplical complex representing connectivity of the vertices, edges, and faces. Determines topological type of the mesh. V={v 1, v 2, v 3…vn}, vi in R^3 is a set of vertex positions defining the shape of the mesh in R^3. Example: V={[0, 0, 0], [1, 0, 0], [0, 0, 1]} 2 Simplical complex K: vertices: {1}, {2}, {3} edges: {1, 2}, {2, 3}, {1, 3} faces: {1, 2, 3} 1 3
B-Spline Patch Splitting The Bicubic B-Spline Patch can be expressed as: Where:
B-Spline Patch Splitting • Now, consider a subdivision scheme for 0<=u, v<=1/2 and introduce a matrix • In order to obtain the same patch we must have:
B-Spline Patch Splitting • Assuming M is invertible: This is known as the splitting matrix. Note: Mistake in original paper!!!
B-Spline Patch Splitting p 41 p 42 p 43 p 44 p 31 p 34 p 21 p 24 p 11 p 12 p 13 q 12 q 11 q 22 p 14
B-Spline Patch Splitting p 41 p 42 p 43 p 44 p 34 p 24 p 11 p 12 p 13 q 12 q 11 q 22 p 14
Arbitrary Topology • 3 types of points – Face – Edge – Vertex • Edges formed by 2 rules • Subdivision surface is the LIMIT surface
Arbitrary Topology • New face points – Average of all old points defining the face. – Example
Arbitrary Topology • New edge points – Average midpoints of old edge with average of the two new face points of faces sharing edge – Example
Arbitrary Topology • New vertex points • Q=average of the new face points of all faces adjacent to the old vertex point • R=average of the midpoints of all old edges incident on the old vertex points • S=old vertex point
Arbitrary Topology • New edges formed by: – Connecting each new face point to new edge points of edges defining the old face – Connecting each new vertex point to the new points of all old edges incident to old vertex point – Example
Extraordinary points • Previous method generates continuous surfaces except at extraordinary points – Extraordinary points have valence other than 4 N=5 N=3 Extraordinary points
Doo-Sabin Surfaces • Doo-Sabin showed via Eigenanalysis that at extraordinary points the surface is discontinuous and proposed modified rules to maintain continuity in the surface [Doo 78]. • The improved formulation is known as Doo. Sabin surfaces.
Bi-quadratic surfaces • Applying the method for bi-cubic can also be used to derive bi-quadratic surfaces.
Recap • So far: – 2 D and 3 D examples – Data structure for geometry – Defined B-spline curve – Derived the splitting matrix for bicubics – Defined arbitrary topology splitting rules – Defined extraordinary vertices, Doo Sabin surfaces
Next • Subdivision surfaces in Character Animation [De. Rose 98] • Non-uniform Subdivision Surfaces [Sederberg 98] • Exact Evaluation of Catmull Clark surfaces at arbitrary parameter values [Stam 98] • MAPS: Multiresolution Adaptive Parameterization of Surfaces [Lee 98]
Subdivision Surfaces in character animation [De. Rose 98] • Used for first time in Geri’s game to overcome topological restriction of NURBS • Modeled Geri’s head, hands, jacket, pants, shirt, tie, and shoes • Developed cloth simulation methods • Method to construct scalar fields enabling use of programmable shaders
Why Catmull-Clark? • Quads are better than tris at capturing the symmetries of natural and man-made objects. Tube like surfaces (arms, legs, fingers) are easier to model. • Generalize uniform tensor product cubic Bsplines, makes it easier to use in-house and commercial systems (Renderman and Alias. Wavefront).
Hybrid subdivision • Hoppe wrote about smooth surfaces with infinitely sharp creases. • De. Rose generalizes this to semi-sharp creases – Select certain vertices to use rules to subdivide to a specific level, then switch to another subdivision scheme applied to the limit. • Sharp at coarse scales, smooth at finer scales • Calls this hybrid subdivision
Subdivision Surfaces in character animation • Implemented in Renderman • Shows subdivision surfaces can be used in high end rendering
Non-uniform subdivision surfaces [Sederberg 98]
Non-uniform subdivision surfaces [Sederberg 98] [Cannot be represented as NURB nor uniform Catmull Clark] • For a non-uniform surface, each vertex is assigned a knot spacing that may be different from each edge radiating from it. • If all knot intervals are equal, back to regular Catmull-Clark or Doo-Sabin
Non-uniform subdivision surfaces
2 D Non-uniform subdivision surfaces
3 D Non-uniform subdivision surfaces
Exact Evaluation of Catmull. Clark Surfaces at arbitrary parameter values [Stam 98]
Exact Evaluation of Catmull. Clark Surfaces at arbitrary parameter values [Stam 98] • Disproves belief that Catmull Clark surfaces cannot be evaluated w/o explicit subdividing. • Uses a set of eigenbasis functions and derive analytical expressions for these functions. • Cost comparable to that of a bi-cubic B-spline. • Allows algorithms developed for parametric surfaces to be applied to Catmull-Clark surfaces.
First high resolution plots around regions of high curvature Extraordinary point in center. Patches using technique are in blue. Derivative information is computed and displayed in model on right.
MAPS: Multiresolution Adaptive Parameterization of Surfaces [Lee 98]
MAPS: Multiresolution Adaptive Parameterization of Surfaces [Lee 98] Note: Great computational geometry paper!!
Step 1: A scanned input mesh • Acquired via laser range scanning or MRI volumetric imaging followed by isosurface extraction • Arbitrary topology • Irregular structure • Tremendous size
Step 2: Via mesh simplification, obtain the parameter or base domain • During simplification, building a topological representation for O(nlgn) multiresolution representation.
Step 2: Via mesh simplification, obtain the parameter or base domain
Step 3: Assign triangles in original mesh to their base domain triangle (during 1 ->2) + =
Step 4: Adaptive Remeshing with subdivision connectivity (epsilon = 1%) Uniform mesh obtained via Loop scheme Interested in smooth parameterizations, not simplification!!
Step 4 (detail) Motivation • Assume a smooth parameterization within each subdomain (see paper for details) • One way to obtain global smoothness would be to minimize a global smoothness functional. – Requires PDE solver. – Found that this is needlessly cumbersome. • Instead, use simpler and cheaper smoothing technique based on Loop subdivision.
Step 4 (detail) Modified Loop Scheme • If all points of stencil needed for computing new point or smoothing old point are inside same triangle of base domain, add Loop weights and new points will be in the same face • If stencil stretches across 2 faces, flatten using hinge map at common edge. • If stencil stretches across multiple faces, use a conformal flattening strategy (see paper).
Step 4 (details) Smoothed mesh using modified Loop simplification scheme
Step 5: Multiresolution editing Smooth parameterization allows efficient mesh modification. Texture coordinates and polygons nicely behaved.
Summary • Who developed them? – – – Catmull-Clark Doo-Sabin Loop Dyn (butterfly) Recent work • De. Rose, Sederberg, Lee, Stam
Summary • What are they? – Mesh based representation of geometry – Defined recursively – Many levels of fidelity
Summary • Where can they be used? – – Animation CAD modeling Game engines more?
Summary • Why are they useful? – – – Scalable LODs Efficient to implement
Summary • How to IMPLEMENT!!
References • • • De. Rose, Tony, Michael Kass, and Tien Truong. Subdivision Surfaces in Character Animation. SIGGRAPH 98. Clark, E. , and J. Clark. Recursively generated B-spline surfaces on arbitrary topological meshes. Computer Aided Geometric Design, Vol. 10, No. 6, 1978. Stam, Joe. Exact Evaluation of Catmull-Clark Subdivision Surfaces At Arbitrary Parameter Values. SIGGRAPH 98. Lee, Aaron W. F. , Wim Swelders, Peter Schroeder, Lawrence Cowsar, David Dobkin. MAPS: Multiresolution Adaptive Parameterization of Surrfaces. SIGGRAPH 98. Sederberg, Thomas W. , David Sewell, Malcolm Sabin. Non-Uniform Recursive Subdivision Surfaces. SIGGRAPH 98. Foley, James D. , Andries van Dam, Steven Feiner, John Hughes. Computer Graphics Principles and Practice, 2 nd Edition. Pages 507 -510. 1990. Loop, C. T. Smooth Subdivision Surfaces Based on Triangles. M. S. Thesis. Department of Mathematics. University of Utah. August 1987. Doo, D. and M. Sabin. Behavior of Recursive Division Surfaces Near Extraordinary Points. Computer-Aided Design. Vol. 10, No. 6, 1978. Dyn, Nyra, David Leven, John Gregory. A butterfly subdivision scheme for surface interpolation with tension control. ACM Transactions on Graphics, 9(2): 160 -169, April 1990.
- Slides: 53