Subdivision Surfaces 1
Geometric Modeling Geometric Modeling • Sometimes need more than polygon meshes • Sometimes need more than polygon meshes – Smooth surfaces • Traditional geometric modeling used NURBS – Non uniform rational B-Spline N if ti l B S li – Demo 2
Problems with NURBS Problems with NURBS • A single NURBS patch is either a topological • A single NURBS patch is either a topological disk, a tube or a torus • Must use many NURBS patches to model complex geometry • When deforming a surface made of NURBS • When deforming a surface made of NURBS patches, cracks arise at the seams 3
Subdivision Subdivision “Subdivision defines a smooth curve or surface as Subdivision defines a smooth curve or surface as the limit of a sequence of successive refinements” refinements 4
Subdivision Surfaces Subdivision Surfaces • Generalization of spline curves / surfaces • Generalization of spline curves / surfaces – Arbitrary control meshes – Successive refinement (subdivision) – Converges to smooth limit surface g – Connection between splines and meshes 5
Subdivision Surfaces Subdivision Surfaces • Generalization of spline curves / surfaces • Generalization of spline curves / surfaces – Arbitrary control meshes – Successive refinement (subdivision) – Converges to smooth limit surface g – Connection between splines and meshes 6
Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar) • Subdivision used for • Subdivision used for – Geri’s hands and head – Clothing – Tie and shoes 7
Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar) Woody’s hand (NURBS) Geri’s hand (subdivision) 8
Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar) • Sharp and semi sharp features • Sharp and semi-sharp features 9
Example: Games Example: Games Supported in hardware in DirectX 11 Supported in hardware in DirectX 11 10
Subdivision Curves Subdivision Curves Given a control polygon... Given a control polygon... ...find a smooth curve related to that polygon. 11
Subdivision Curve Types Subdivision Curve Types • Approximating • Interpolating • Interpolating • Corner Cutting 12
Approximating Approximating 13
Approximating Approximating Splitting step: split each edge in two 14
Approximating Approximating Averaging step: relocate each (original) vertex according to some (simple) rule... 15
Approximating Approximating Start over ... Start over ... 16
Approximating Approximating ...splitting... ...splitting... 17
Approximating Approximating ...averaging... ...averaging... 18
Approximating Approximating ...and so on... ...and so on... 19
Approximating Approximating If the rule is designed carefully... If the rule is designed carefully... ... the control polygons will converge to a smooth limit curve! smooth limit curve! 20
Equivalent to … Equivalent to … • Insert single new point at mid edge • Insert single new point at mid-edge • Filter entire set of points. p Catmull-Clark rule: Filter with (1/8, 6/8, 1/8) 21
Corner Cutting Corner Cutting • Subdivision rule: • Subdivision rule: – Insert two new vertices at ¼ and ¾ of each edge – Remove the old vertices – Connect the new vertices 22
Interpolating (4-point Scheme) Interpolating (4 point Scheme) • Keep old vertices • Keep old vertices • Generate new vertices by fitting cubic curve to y g old vertices • C 1 continuous limit curve C 1 ti li it 41
Interpolating Interpolating 42
Interpolating Interpolating 43
Interpolating Interpolating 44
Interpolating Interpolating 45
Interpolating Interpolating demo 46
Subdivision Surfaces Subdivision Surfaces • No regular structure as for curves • No regular structure as for curves – Arbitrary number of edge-neighbors – Different subdivision rules for each valence 47
Subdivision Rules Subdivision Rules • How the connectivity changes • How the connectivity changes • How the geometry changes – Old points – New points e po ts
Subdivision Zoo Subdivision Zoo • Classification of subdivision schemes • Classification of subdivision schemes Primal Faces are split into sub-faces Dual D l V Vertices are split into multiple vertices ti lit i t lti l ti Approximating Control points are not interpolated Interpolating Interpolating Control points are interpolated Control points are interpolated 49
Subdivision Zoo Subdivision Zoo • Classification of subdivision schemes • Classification of subdivision schemes Primal (face split) T i Triangular meshes l h Q Quad Meshes d M h Loop(C 2 ) Catmull-Clark(C 2 ) Approximating Mod Butterfly (C 1 ) Mod. Butterfly (C 1 ) Kobbelt (C 1 ) Kobbelt (C 1 ) Interpolating Interpolating Dual (vertex split) Doo-Sabin, Midedge(C 1 ) Biquartic (C 2 ) Biquartic (C ) • Many more... 50
Subdivision Zoo Subdivision Zoo • Classification of subdivision schemes • Classification of subdivision schemes Primal Dual Triangles Triangles Rectangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt 51
Catmull Clark Subdivision Catmull-Clark Subdivision • Generalization of bi cubic B Splines • Generalization of bi-cubic B-Splines • Primal, approximation subdivision scheme • Applied to polygonal meshes • Generates G 2 continuous limit surfaces: G 2 G t ti li it f – C 1 for the set of finite extraordinary points • Vertices with valence ≠ 4 – C 2 continuous everywhere else C co t uous e e y e e e se 52
Catmull-Clark Subdivision Catmull Clark Subdivision 53
Catmull-Clark Subdivision Catmull Clark Subdivision 54
Classic Subdivision Operators Classic Subdivision Operators • Classification of subdivision schemes • Classification of subdivision schemes Primal Dual Triangles Triangles Rectangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt 55
Loop Subdivision Loop Subdivision • Generalization of box splines • Generalization of box splines • Primal, approximating subdivision scheme • Applied to triangle meshes • Generates G 2 continuous limit surfaces: G 2 G t ti li it f – C 1 for the set of finite extraordinary points • Vertices with valence ≠ 6 – C 2 continuous everywhere else C co t uous e e y e e e se 56
Loop Subdivision Loop Subdivision 57
Loop Subdivision Loop Subdivision 58
Subdivision Zoo Subdivision Zoo • Classification of subdivision schemes • Classification of subdivision schemes Primal Dual Triangles Triangles Rectangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt 59
Doo Sabin Subdivision Doo-Sabin Subdivision • Generalization of bi quadratic B Splines • Generalization of bi-quadratic B-Splines • Dual, approximating subdivision scheme • Applied to polygonal meshes • Generates G 1 continuous limit surfaces: G 1 G t ti li it f – C 0 for the set of finite extraordinary points • Center of irregular polygons after 1 subdivision step – C 1 continuous everywhere else C co t uous e e y e e e se 60
Doo-Sabin Subdivision Doo Sabin Subdivision 61
Doo-Sabin Subdivision Doo Sabin Subdivision 62
Classic Subdivision Operators Classic Subdivision Operators • Classification of subdivision schemes • Classification of subdivision schemes Primal Dual Triangles Triangles Rectangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt 63
Butterfly Subdivision Butterfly Subdivision • Primal interpolating scheme • Primal, interpolating scheme • Applied to triangle meshes • Generates G 1 continuous limit surfaces: – C o for the set of finite extraordinary points C o for the set of finite extraordinary points • Vertices of valence = 3 or > 7 – C 1 continuous everywhere else 64
Butterfly Subdivision Butterfly Subdivision 65
Butterfly Subdivision Butterfly Subdivision 66
Remark Remark • Different masks apply on the boundary • Different masks apply on the boundary • Example: Loop p p 67
Comparison Comparison Doo-Sabin Doo Sabin Catmull-Clark Catmull Clark Loop Loop Butterfly Butterfly 68
Comparison Comparison • Subdividing a cube S bdi idi b – Loop result is assymetric, because cube was triangulated first first – Both Loop and Catmull-Clark are better then Butterfly ( C 2 vs. C 1 ) – Interpolation vs. smoothness 69
Comparison Comparison • Subdividing a tetrahedron • Subdividing a tetrahedron – Same insights – Severe shrinking for approximating schemes 70
Comparison Comparison • Spot the difference? S t th diff ? • For smooth meshes with uniform triangle size, different schemes provide very similar results provide very similar results • Beware of interpolating schemes for control polygons with sharp features 71
Recommend
More recommend