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) [DeRose98] • Advantage of NURBS: Trimmed NURBS are readily available in commercial systems!! Subdivisions of Talk • • • • • • 2D and 3D 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 2D subdivision curve example • De Casteljau curve [Foley90] P2 P3 P4 P1 2D subdivision curve example • De Casteljau curve [Foley90] P2 L3=(L2+H)/2 L2=(P1+P2)/2 P1=L1 H=(P2+P3)/2 P3 R2=(H+R3)/2 L4=R1=(L3+R2)/2 R3=(P3+P4)/2 P4=R4 3D subdivision surface example Major categories of subdivision surfaces * • • • Catmull-Clark [Catmull78] Doo-Sabin [Doo78] Loop [Loop87] Butterfly scheme [Dyn90] 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={v1,v2,v3…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: S (u, v) UMGM tV t Where: 1 3 3 1 3 6 3 M 3 6 3 0 4 1 1 U [u 3 u 2 u 1] V [v 3 v 2 v 1] 1 P11 P 0 , G 21 P31 0 0 P41 P12 P22 P13 P23 P32 P42 P33 P43 P14 P24 P34 P44 B-Spline Patch Splitting • Now, consider a subdivision scheme for 0<=u,v<=1/2 and introduce a matrix 1 8 0 S 0 0 0 0 1 4 0 0 0 1 2 0 0 0 0 1 • In order to obtain the same patch we must have: G [ M 1SM ]G[ M t SM t ] B-Spline Patch Splitting • Assuming M is invertible: 4 1 1 1 M SM 8 0 0 4 0 0 6 1 0 4 4 0 1 6 1 This is known as the splitting matrix. Note: Mistake in original paper!!! B-Spline Patch Splitting ( p p12 p13 p14 ) q11 11 4 CD p p22 q12 ( 2 12 ) 2 2 C q11 D q13 p41 p42 p43 p44 p31 p34 p21 p24 p12 p13 p22 p23 4 p12 p11 p13 q12 q11 q21 q22 p14 B-Spline Patch Splitting p Q R q 22 22 4 2 4 where (q q q q ) Q 11 13 31 33 4 and ( p p ) ( p p ) ( p p ) ( p p ) 1 R 22 12 22 21 22 32 22 23 4 2 2 2 2 p41 p42 p43 p44 p34 p24 p12 p11 p13 q12 q11 q21 q22 p14 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 [Doo78]. • 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: – – – – – – 2D and 3D 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 [DeRose98] • Non-uniform Subdivision Surfaces [Sederberg98] • Exact Evaluation of Catmull Clark surfaces at arbitrary parameter values [Stam98] • MAPS: Multiresolution Adaptive Parameterization of Surfaces [Lee98] Subdivision Surfaces in character animation [DeRose98] • 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 AliasWavefront). Hybrid subdivision • Hoppe wrote about smooth surfaces with infinitely sharp creases. • DeRose 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 [Sederberg98] Non-uniform subdivision surfaces [Sederberg98] [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 n 1 w P F i i i 0 n 1 w , where wi (d i01,i d i21,i d i21,i d i0 2,i 1 d i2 2,i 1 d i22,i 1 ) (d i01,i d i01,i d i21,i d i0 2,i 1 d i2 2,i 1 d i22,i 1 ) i i 0 E (1 ij ji ) M ij Fij ji F ji , where ij M (d 0ji d 2ji d ji2 ) Pi (d ij0 d ij2 d ij 2 ) Pj (d 0ji d 2ji d ji2 d ij0 d ij2 d ij 2 ) n V cP0 3 (mi M i f i ,i 1 Fi ,i 1 ) i 1 n n (mi f i ,i 1 ) i 1 1 0i mi (d d )( d 02i d 0i2 ) / 2 1 0i f ij d 01i d 01j c n3 n d 1ji d ji1 2(d 1ji d ij1 d ji1 d ij1 ) 2D Non-uniform subdivision surfaces 3D Non-uniform subdivision surfaces Exact Evaluation of CatmullClark Surfaces at arbitrary parameter values [Stam98] Exact Evaluation of CatmullClark Surfaces at arbitrary parameter values [Stam98] • 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 [Lee98] MAPS: Multiresolution Adaptive Parameterization of Surfaces [Lee98] 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 • DeRose, 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 • • • • • • • • • DeRose, 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, 2nd 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.