subdivision surfaces
play

Subdivision Surfaces 1 Geometric Modeling Geometric Modeling - PowerPoint PPT Presentation

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


  1. Subdivision Surfaces 1

  2. 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

  3. 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

  4. 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

  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 5

  6. 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

  7. 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

  8. Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar) Woody’s hand (NURBS) Geri’s hand (subdivision) 8

  9. Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar) • Sharp and semi sharp features • Sharp and semi-sharp features 9

  10. Example: Games Example: Games Supported in hardware in DirectX 11 Supported in hardware in DirectX 11 10

  11. Subdivision Curves Subdivision Curves Given a control polygon... Given a control polygon... ...find a smooth curve related to that polygon. 11

  12. Subdivision Curve Types Subdivision Curve Types • Approximating • Interpolating • Interpolating • Corner Cutting 12

  13. Approximating Approximating 13

  14. Approximating Approximating Splitting step: split each edge in two 14

  15. Approximating Approximating Averaging step: relocate each (original) vertex according to some (simple) rule... 15

  16. Approximating Approximating Start over ... Start over ... 16

  17. Approximating Approximating ...splitting... ...splitting... 17

  18. Approximating Approximating ...averaging... ...averaging... 18

  19. Approximating Approximating ...and so on... ...and so on... 19

  20. 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

  21. 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

  22. 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

  23. 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

  24. Interpolating Interpolating 42

  25. Interpolating Interpolating 43

  26. Interpolating Interpolating 44

  27. Interpolating Interpolating 45

  28. Interpolating Interpolating demo 46

  29. 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

  30. Subdivision Rules Subdivision Rules • How the connectivity changes • How the connectivity changes • How the geometry changes – Old points – New points e po ts

  31. 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

  32. 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

  33. 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

  34. 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

  35. Catmull-Clark Subdivision Catmull Clark Subdivision 53

  36. Catmull-Clark Subdivision Catmull Clark Subdivision 54

  37. 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

  38. 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

  39. Loop Subdivision Loop Subdivision 57

  40. Loop Subdivision Loop Subdivision 58

  41. 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

  42. 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

  43. Doo-Sabin Subdivision Doo Sabin Subdivision 61

  44. Doo-Sabin Subdivision Doo Sabin Subdivision 62

  45. 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

  46. 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

  47. Butterfly Subdivision Butterfly Subdivision 65

  48. Butterfly Subdivision Butterfly Subdivision 66

  49. Remark Remark • Different masks apply on the boundary • Different masks apply on the boundary • Example: Loop p p 67

  50. Comparison Comparison Doo-Sabin Doo Sabin Catmull-Clark Catmull Clark Loop Loop Butterfly Butterfly 68

  51. 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

  52. Comparison Comparison • Subdividing a tetrahedron • Subdividing a tetrahedron – Same insights – Severe shrinking for approximating schemes 70

  53. 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