Subdivision Surfaces 1 Geometric Modeling Geometric Modeling - - PowerPoint PPT Presentation

subdivision surfaces
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Subdivision Surfaces

1

slide-2
SLIDE 2

Geometric Modeling Geometric Modeling

  • Sometimes need more than polygon meshes
  • Sometimes need more than polygon meshes

– Smooth surfaces

  • Traditional geometric modeling used NURBS

N if ti l B S li – Non uniform rational B-Spline – Demo

2

slide-3
SLIDE 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

slide-4
SLIDE 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

slide-5
SLIDE 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

slide-6
SLIDE 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

slide-7
SLIDE 7

Example: Geri’s Game (Pixar)

  • Subdivision used for

Example: Geri s Game (Pixar)

  • Subdivision used for

– Geri’s hands and head – Clothing – Tie and shoes

7

slide-8
SLIDE 8

Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar)

Woody’s hand (NURBS) Geri’s hand (subdivision)

8

slide-9
SLIDE 9

Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar)

  • Sharp and semi sharp features
  • Sharp and semi-sharp features

9

slide-10
SLIDE 10

Example: Games Example: Games

Supported in hardware in DirectX 11 Supported in hardware in DirectX 11

10

slide-11
SLIDE 11

Subdivision Curves Subdivision Curves

Given a control polygon... Given a control polygon... ...find a smooth curve related to that polygon.

11

slide-12
SLIDE 12

Subdivision Curve Types Subdivision Curve Types

  • Approximating
  • Interpolating
  • Interpolating
  • Corner Cutting

12

slide-13
SLIDE 13

Approximating Approximating

13

slide-14
SLIDE 14

Approximating Approximating

Splitting step: split each edge in two

14

slide-15
SLIDE 15

Approximating Approximating

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

15

slide-16
SLIDE 16

Approximating Approximating

Start over ... Start over ...

16

slide-17
SLIDE 17

Approximating Approximating

...splitting... ...splitting...

17

slide-18
SLIDE 18

Approximating Approximating

...averaging... ...averaging...

18

slide-19
SLIDE 19

Approximating Approximating

...and so on... ...and so on...

19

slide-20
SLIDE 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

slide-21
SLIDE 21

Equivalent to …

  • Insert single new point at mid edge

Equivalent to …

  • 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

slide-22
SLIDE 22

Corner Cutting

  • Subdivision rule:

Corner Cutting

  • Subdivision rule:

– Insert two new vertices at ¼ and ¾ of each edge – Remove the old vertices – Connect the new vertices

22

slide-23
SLIDE 23

Interpolating (4-point Scheme)

  • Keep old vertices

Interpolating (4 point Scheme)

  • Keep old vertices
  • Generate new vertices by fitting cubic curve to

y g

  • ld vertices

C1 ti li it

  • C1 continuous limit curve

41

slide-24
SLIDE 24

Interpolating Interpolating

42

slide-25
SLIDE 25

Interpolating Interpolating

43

slide-26
SLIDE 26

Interpolating Interpolating

44

slide-27
SLIDE 27

Interpolating Interpolating

45

slide-28
SLIDE 28

Interpolating Interpolating

demo

46

slide-29
SLIDE 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

slide-30
SLIDE 30

Subdivision Rules Subdivision Rules

  • How the connectivity changes
  • How the connectivity changes
  • How the geometry changes

– Old points – New points e po ts

slide-31
SLIDE 31

Subdivision Zoo Subdivision Zoo

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal Faces are split into sub-faces D l V ti lit i t lti l ti Dual Vertices are split into multiple vertices Approximating Control points are not interpolated Interpolating Control points are interpolated Interpolating Control points are interpolated

49

slide-32
SLIDE 32

Subdivision Zoo Subdivision Zoo

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal (face split) T i l h Q d M h Triangular meshes Quad Meshes Approximating Loop(C2) Catmull-Clark(C2) Interpolating Mod Butterfly (C1) Kobbelt (C1) Interpolating

  • Mod. Butterfly (C1)

Kobbelt (C1) Dual (vertex split) Doo-Sabin, Midedge(C1) Biquartic (C2)

  • Many more...

Biquartic (C )

50

slide-33
SLIDE 33

Subdivision Zoo Subdivision Zoo

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal Dual Triangles Rectangles Triangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt

51

slide-34
SLIDE 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

G t G2 ti li it f

  • Generates G2 continuous limit surfaces:

– C1 for the set of finite extraordinary points

  • Vertices with valence ≠ 4

– C2 continuous everywhere else C co t uous e e y e e e se

52

slide-35
SLIDE 35

Catmull-Clark Subdivision Catmull Clark Subdivision

53

slide-36
SLIDE 36

Catmull-Clark Subdivision Catmull Clark Subdivision

54

slide-37
SLIDE 37

Classic Subdivision Operators Classic Subdivision Operators

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal Dual Triangles Rectangles Triangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt

55

slide-38
SLIDE 38

Loop Subdivision Loop Subdivision

  • Generalization of box splines
  • Generalization of box splines
  • Primal, approximating subdivision scheme
  • Applied to triangle meshes

G t G2 ti li it f

  • Generates G2 continuous limit surfaces:

– C1 for the set of finite extraordinary points

  • Vertices with valence ≠ 6

– C2 continuous everywhere else C co t uous e e y e e e se

56

slide-39
SLIDE 39

Loop Subdivision Loop Subdivision

57

slide-40
SLIDE 40

Loop Subdivision Loop Subdivision

58

slide-41
SLIDE 41

Subdivision Zoo Subdivision Zoo

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal Dual Triangles Rectangles Triangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt

59

slide-42
SLIDE 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

G t G1 ti li it f

  • Generates G1 continuous limit surfaces:

– C0 for the set of finite extraordinary points

  • Center of irregular polygons after 1 subdivision step

– C1 continuous everywhere else C co t uous e e y e e e se

60

slide-43
SLIDE 43

Doo-Sabin Subdivision Doo Sabin Subdivision

61

slide-44
SLIDE 44

Doo-Sabin Subdivision Doo Sabin Subdivision

62

slide-45
SLIDE 45

Classic Subdivision Operators Classic Subdivision Operators

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal Dual Triangles Rectangles Triangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt

63

slide-46
SLIDE 46

Butterfly Subdivision Butterfly Subdivision

  • Primal interpolating scheme
  • Primal, interpolating scheme
  • Applied to triangle meshes
  • Generates G1 continuous limit surfaces:

Co for the set of finite extraordinary points – Co for the set of finite extraordinary points

  • Vertices of valence = 3 or > 7

– C1 continuous everywhere else

64

slide-47
SLIDE 47

Butterfly Subdivision Butterfly Subdivision

65

slide-48
SLIDE 48

Butterfly Subdivision Butterfly Subdivision

66

slide-49
SLIDE 49

Remark Remark

  • Different masks apply on the boundary
  • Different masks apply on the boundary
  • Example: Loop

p p

67

slide-50
SLIDE 50

Comparison Comparison

Doo-Sabin Catmull-Clark Doo Sabin Catmull Clark Loop Butterfly Loop Butterfly

68

slide-51
SLIDE 51

Comparison Comparison

S bdi idi b

  • Subdividing a cube

– Loop result is assymetric, because cube was triangulated first first – Both Loop and Catmull-Clark are better then Butterfly (C2

  • vs. C1 )

– Interpolation vs. smoothness

69

slide-52
SLIDE 52

Comparison Comparison

  • Subdividing a tetrahedron
  • Subdividing a tetrahedron

– Same insights – Severe shrinking for approximating schemes

70

slide-53
SLIDE 53

Comparison Comparison

S t th diff ?

  • Spot the difference?
  • 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

slide-54
SLIDE 54

So Who Wins? So Who Wins?

L d C t ll Cl k b t h i t l ti i t i d

  • Loop and Catmull-Clark best when interpolation is not required
  • Loop best for triangular meshes
  • Catmull-Clark best for quad meshes

– Don’t triangulate and then use Catmull-Clark

72

slide-55
SLIDE 55

Properties of Subdivision Properties of Subdivision

  • Flexible modeling
  • Flexible modeling

– Handle surfaces of arbitrary topology Provably smooth limit surfaces – Provably smooth limit surfaces – Intuitive control point interaction

S l bilit

  • Scalability

– Level-of-detail rendering – Adaptive approximation

  • Usability

– Compact representation – Simple and efficient code

86

slide-56
SLIDE 56

Beyond Subdivision Surfaces Beyond Subdivision Surfaces

  • Non linear subdivision [S h

f t l 2008]

  • Non-linear subdivision [Schaefer et al. 2008]

Idea: replace arithmetic mean with other function

de Casteljau with de Casteljau with

87

slide-57
SLIDE 57

Beyond Subdivision Surfaces Beyond Subdivision Surfaces

  • T Splines [S d

b t l 2003]

  • T-Splines [Sederberg et al. 2003]

– Allows control points to be T-junctions – Can use less control points – Can model different topologies with single surface p g g

NURBS T-Splines NURBS T-Splines

88

slide-58
SLIDE 58

Beyond Subdivision Surfaces Beyond Subdivision Surfaces

  • How do you subdivide a teapot?
  • How do you subdivide a teapot?

89