You are on page 1of 9

Subdivision rules for curves

• New vertex positions are linear combinations of old


positions

Subdivision overview

CS 4621 Lecture 1

ODD EVEN

Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 1 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 2

Subdivision curves [Schröder & Zorin SIGGRAPH 2000 course 23]


Subdivision surfaces

[Schröder & Zorin SIGGRAPH 2000 course 23]


Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 3 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 4
Generalizing from curves to surfaces Subdivision of meshes

• Two parts to subdivision process • Quadrilaterals


• Subdividing the mesh (computing new topology) – Catmull-Clark 1978
– For curves: replace every segment with two segments • Triangles

[Schröder & Zorin SIGGRAPH 2000 course 23]


– For surfaces: replace every face with some new faces – Loop 1987
• Positioning the vertices (computing new geometry)
– For curves: two rules (one for odd vertices, one for even)
• New vertex’s position is a weighted average of positions
of old vertices that are nearby along the sequence
– For surfaces: two kinds of rules (still called odd and even)
• New vertex’s position is a weighted average of positions
of old vertices that are nearby in the mesh

Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 5 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 6

Loop regular rules [Schröder & Zorin SIGGRAPH 2000 course 23]
Catmull-Clark regular rules

Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 7 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 8
Creases Boundaries

• With splines, make creases by turning off continuity • At boundaries the masks do not work
constraints – mesh is not manifold; edges do not have two triangles
• With subdivision surfaces, make creases by marking • Solution: same as crease

[Schröder & Zorin SIGGRAPH 2000 course 23]

[Schröder & Zorin SIGGRAPH 2000 course 23]


edges “sharp” – shape of boundary is controlled only by vertices along
– use different rules for vertices with sharp edges boundary
– these rules produce B-splines that depend only on vertices
along crease

Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 9 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 10

Extraordinary vertices Full Loop rules (triangle mesh)

• Vertices that don’t have the “standard” valence


• Unavoidable for most topologies
• Difference from splines

[Schröder & Zorin SIGGRAPH 2000 course 23]


[Schröder & Zorin SIGGRAPH 2000 course 23]

– treatment of extraordinary
vertices is really the only way
subdivision surfaces are different
from spline patches

Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 11 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 12
Full Catmull-Clark rules (quad mesh) Loop Subdivision Example

[Schröder & Zorin SIGGRAPH 2000 course 23]


control polyhedron
Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 13 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 14

Loop Subdivision Example Loop Subdivision Example

refined odd
control polyhedron subdivision mask
Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 15 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 16
Loop Subdivision Example Loop Subdivision Example

even
subdivision mask
subdivision level 1 (ordinary vertex)
Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 17 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 18

Loop Subdivision Example Loop Subdivision Example

even
subdivision mask
subdivision level 1 (extraordinary vertex)
Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 19 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 20
Loop Subdivision Example Loop Subdivision Example

subdivision level 1 subdivision level 1


Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 21 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 22

Loop Subdivision Example Loop Subdivision Example

subdivision level 2 subdivision level 3


Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 23 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 24
Loop Subdivision Example Loop Subdivision Example

subdivision level 4 limit surface


Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 25 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 26

Relationship to splines Loop vs. Catmull-Clark

• In regular regions, behavior is identical


• At extraordinary vertices, achieve C1
– near extraordinary, different from splines

[Schröder & Zorin SIGGRAPH 2000 course 23]


• Linear everywhere
– mapping from parameter space to 3D is a linear combination
of the control points
– “emergent” basis functions per control point
• match the splines in regular regions
• “custom” basis functions around extraordinary vertices

Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 27 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 28
Loop vs. Catmull-Clark Loop vs. Catmull-Clark

[Schröder & Zorin SIGGRAPH 2000 course 23]


[Schröder & Zorin SIGGRAPH 2000 course 23]
Loop Catmull-Clark
(after splitting faces)
Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 29 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 30

Loop with creases Catmull-Clark with creases

[DeRose et al. SIGGRAPH 1998]


[Hugues Hoppe]

Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 31 Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 32
Geri’s Game

• Pixar short film to test


subdivision in production
– Catmull-Clark (quad mesh)
surfaces
– complex geometry
– extensive use of creases

[DeRose et al. SIGGRAPH 1998]


– subdivision surfaces to support
cloth dynamics

Cornell CS4621 Fall 2008 •!Lecture 1 © 2008 Steve Marschner • 33

You might also like