Subdivision Surfaces Geris Game (1989) : Pixar Animation Studios - - PowerPoint PPT Presentation

subdivision surfaces
SMART_READER_LITE
LIVE PREVIEW

Subdivision Surfaces Geris Game (1989) : Pixar Animation Studios - - PowerPoint PPT Presentation

Subdivision Surfaces Geris Game (1989) : Pixar Animation Studios Nathan Carr, N. Nikolaidis et al Smooth versus General Polygon meshes are very general, but hard to model with In a production context (film, game), creating a dense,


slide-1
SLIDE 1

Subdivision Surfaces

Nathan Carr, N. Nikolaidis et al

Geri’s Game (1989) : Pixar Animation Studios

slide-2
SLIDE 2

Smooth versus General

  • Polygon meshes are very general, but hard to

model with

– In a production context (film, game), creating a dense, accurate mesh requires lots of work – Biggest problem is smoothness

  • We desire a way to “smooth out” a polygonal

mesh

– We can model at a coarse level, and automatically fill in the smooth parts

  • Subdivision surfaces are part of the answer
slide-3
SLIDE 3

Subdivision Schemes

  • Basic idea: Start with something coarse, and

refine it into smaller pieces, smoothing along the way

– Stop whenever the required smoothness is achieved (usually 3-5 iterations)

  • Starting mesh is called control mesh
slide-4
SLIDE 4

Subdivision Surfaces

  • Approach Limit Curve Surface through an Iterative Refinement

Process.

Refinement 1 Refinement 2 Refinement ∞ Note: Limit Curve/Surface not known!

slide-5
SLIDE 5

Subdivision in 3D

  • Same approach works in 3D

Refinement

slide-6
SLIDE 6

Types of Subdivision

  • Interpolating Schemes

– Limit Surfaces/Curves will pass through original set of data points. – Each iteration generates only new vertices, does not move old

  • nes

– Curve/Surface interpolates vertices from the previous step

  • Approximating Schemes

– Limit Surface will not necessarily pass through the original set of data points.

slide-7
SLIDE 7

Interpolating vs Approximating schemes

  • Approximating:

– Create fair surfaces (smooth bends) – Converge faster – Shape is lowpass filtered, often shrinks!

  • Potential remedy: use denser and carefully selected control mesh
  • Interpolating:

– Less fairness, might create unnatural undulations – Creates mesh that usually is more “faithful” to the control mesh

  • Differences almost disappear in meshes with many

triangles or smooth

slide-8
SLIDE 8

Types of Subdivision

  • Triangle based
  • Polygon based
  • Uniform: same update/subdivision rules for all

vertices/edges

  • Nonuniform: different update/subdivision rules for

different vertices/edges (e.g. on boundary edges or irregular vertices)

  • Stationary: same subdivision rule in all subdivision steps
  • Non-stationary: different subdivision rule in different

subdivision steps

slide-9
SLIDE 9

Two phase process (conceptually)

  • In each subdivision step:

– Refinement phase: creates new vertices and connects them to create new, smaller triangles/polygons – Smoothing phase: moves new and perhaps old vertices

slide-10
SLIDE 10

A Primer: Chaiken’s Algorithm

2 1 3 2 1 2

4 1 4 3 4 3 4 1 P P Q P P Q + = + =

3 2 5 3 2 4

4 1 4 3 4 3 4 1 P P Q P P Q + = + =

1 1 1

4 1 4 3 4 3 4 1 P P Q P P Q + = + =

1 1 2 1 2

4 1 4 3 4 3 4 1

+ + +

+ = + =

i i i i i i

P P Q P P Q

Apply Iterated Function System Limit Curve

In each step, points are doubled Corners are cut: lowpass filtering

P0 P1 P2 P3 Q0 Q1 Q2 Q3 Q4 Q5

slide-11
SLIDE 11

Subdivision Operations Example

  • Split an edge, create a new vertex and

two new edges

– Each edge must be split exactly once – Need to know endpoints of edge to create new vertex

  • Split a face, creating new edges and

new faces based on the old edges and the old and new vertices

– Require knowledge of which new edges to use – Require knowledge of new vertex locations

slide-12
SLIDE 12

Definitions

  • Valence of a vertex: the number of neighboring vertices
  • f this vertex (the ones connected by edges)

– Number of edges emanating from the vertex

  • In triangular meshes:
  • Vertex of valence 6: regular
  • Valence<>6: irregular, extraordinary

1-ring Rectangular meshes: regular vertices are usually those of valence 4

slide-13
SLIDE 13

3D Surfaces Loop Subdivision

  • Works on triangular meshes
  • Is an Approximating Scheme
  • Guaranteed to be smooth everywhere except at

extraordinary vertices.

slide-14
SLIDE 14

Loop’s scheme (‘87)

Edge Vertex

8 3

8 1 8 3

8 1

2

1 5 3 2 2 cos 8 8 8 n n π β ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎜ ⎟ = − + ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠

1 nβ − β β β β β β

slide-15
SLIDE 15

Loop’s scheme (‘87)

  • Edge mask: position of new vertex
  • Vertex mask: new position of the existing vertex
  • Both are applied on the values of the existing

vertices

  • Weights in each mask sum to one: new/updated

point within the neighborhood of the weighted points

  • C2 continuity (at the limit) except for irregular

vertices in the control mesh (its C1 there)

slide-16
SLIDE 16

Loop’s scheme - Boundary

1 2 1 2 1 8 3 4 1 8

Vertex point Edge point

  • The boundary is a cubic B-Spline curve
  • The curve only depends on the control points on the boundary
  • Good for connecting 2 meshes
  • C0 for irregularities near boundary
slide-17
SLIDE 17

Loop’s scheme - Summary

  • Triangles – better use valence 6 (no special rules for irregular

vertices: uniform in that respect)

  • Approximation
  • Face Split
  • C2 on regular meshes
  • Only C1 on extraordinary points
  • C0 for irregularities near boundary
  • The scheme generates three directional box Splines at the limit
  • Closed formulas for vertices and tangents at the limit exist (also for
  • ther schemes)
slide-18
SLIDE 18

Piecewise smooth subdivision

  • Subdivision produces smooth continuous surfaces, not

always desirable.

  • How can “sharpness” and creases be controlled in a

modeling environment? ANSWER: Define new subdivision rules for “creased” edges and vertices.

  • 1. Tag sharp edges.
  • 2. If an edge is sharp, apply new

sharp subdivision rules.

  • 3. Otherwise subdivide with

normal rules.

slide-19
SLIDE 19

Sharp Edges…

  • 1. Tag Edges as “sharp” or “not-sharp”
  • 2. Count number s of sharp edges coming in

at a vertex

  • s = 0 – “not sharp-smooth”
  • s=1 dart
  • s=2 crease
  • s>2 corner

During Subdivision,

  • 3. Near “sharp” edges, use “sharp”

subdivision rules, according to the type of vertices.

  • 4. Use normal rules otherwise
slide-20
SLIDE 20
slide-21
SLIDE 21

Subdivision as Matrices

  • Subdivision can be expressed as a matrix Smask of

weights w.

– Smask is very sparse – Never Implement this way! – Allows for analysis

  • Curvature
  • Limit Surface

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ =

2 1 1 11 10 01 00

ˆ ˆ ˆ ˆ ˆ p p p p p p p w w w w w P P S

n nj mask

M M L O M M L L

Smask Weights Old Control Points New Points

slide-22
SLIDE 22

What About Continuity and Curvature..

  • Subdivision mask weights w are derived from splines,

such as B-Splines.

– In many cases subdivision surfaces converge to spline surfaces with C2 continuity everywhere.** – Too lengthy to cover here, but there is lots of literature.

Subdivision Methods for Geometric Design Joe Warren, Henrik Weimer. (2002) **Math works out except at “Extraordinary Vertices”. Most Subdivision Schemes have and “ideal” valence for which it can be shown that the limit surface will converge to a spline surface.

slide-23
SLIDE 23

Ordinary and Extraordinary

Loop Subdivision Valence 6 Catmull-Clark Subdivision Valence 4

  • Subdividing a mesh does not add extraordinary vertices.
  • Subdividing a mesh does not remove extraordinary vertices.

How should extraordinary vertices be handled?

  • Make up rules for extraordinary vertices that keep the surface

“smooth”.

slide-24
SLIDE 24

Modified Butterfly scheme – Zorin(’96)

  • Interpolating scheme: vertices of the previous

step are maintained.

  • Connectivity as in Loop’s algorithm: insert a new

vertex in each edge, connect new vertices and split each triangle into four new ones

slide-25
SLIDE 25

Modified Butterfly scheme – Zorin(’96)

a a b b c c c c d d

w d w c w b w a : 16 1 : 2 8 1 : 2 1 : : Weights − − + −

  • Multiply each vertex by its weight and sum them up
  • w is a control parameter – determines how closely the shape

conforms to the original mesh (Moller book: w=0, d vertices do not participate)

slide-26
SLIDE 26

Modified Butterfly Scheme –Cont’

⎭ ⎬ ⎫ ⎩ ⎨ ⎧ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ + ≥ ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ − = ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ − − = N j N j N e v N e e e e v N e e e v N

j

π π 4 cos 2 1 2 cos 4 1 1 : , 4 3 : : 5 : , 8 1 : , : , 8 3 : , 4 3 : : 4 12 1 : , 12 1 : , 12 5 : , 4 3 : : 3 : Weights

3 2 1 2 1

v e0 e1 e2 e3 eN-1 eN-2 eN-3

Extraordinary Vertex New Edge vertex 1 ring neighborhood

  • 1. (Valence 6) X (valence 6): prev. case
  • 2. (Valence 6) X (valence != 6): see

formulas on the right (N=valence)

  • 3. (Valence != 6) X (valence != 6): (can

happen only in the first iteration) compute temporary vertices using formulas above, average to get new vertex.

  • 4. Boundary vertices (see Moller)
slide-27
SLIDE 27

Modified Butterfly Scheme - Summary

  • Triangles – use any valence
  • Interpolation
  • Face Split
  • C1 everywhere
  • Not C2 even on regular meshes
  • Non-uniform
slide-28
SLIDE 28

Catmull-Clark scheme ’78

1

1

m i i

f p m

=

=

Face Point Vertex Point

2 2 1 1

1 1 2

n n i i i i

n v f e p n n n

= =

− = + +

∑ ∑

1 2 1 2

4 p p f f e + + + =

Edge Point

( 3) 2 p n Q R v n n n − = + +

  • Q – Average of face points
  • R – Average of edge points
  • P – old vertex
slide-29
SLIDE 29

Keep subdividing…

  • After 1 iteration, every new face is a rectangular.
  • Extraordinary vertices are forever. Valence is retained.
  • Ultimately, at the limit, the surface will be a standard bicubic B-spline

surface at every point except at these “extraordinary points”, and therefore at all but extraordinary points.

  • Catmull & Clark did not prove or guarantee continuity at the

extraordinary points but note that trials indicate this much.

  • Later on it was proven to be C1

) 2 (

C

slide-30
SLIDE 30

Catmull-Clark - Summary

  • Any topology – better use quad faces and vertices with valence 4
  • Approximation
  • Generalization of bicubic B-Spline
  • Face Split
  • C2 everywhere. C1 on extraordinary vertices
slide-31
SLIDE 31

Visual Comparison

slide-32
SLIDE 32

Visual Comparison – Cont’

slide-33
SLIDE 33

Visual Comparison – Cont’

slide-34
SLIDE 34

Subdivision: pros and cons

Pros:

  • Many of the pros of splines
  • Flexible wrt. topology/mesh
  • No gaps or seams!
  • Features are ”easy”
  • Simple to implement
  • Efficient to visualize
  • Simple/intuitive to manipulate – modeling
  • Hierarchical modeling with offsets
  • Good for deformation – animation
  • Built-in LOD for rendering

Cons:

  • Ck , k>1 is hard (not good for CAD)
  • Evaluation not straight forward (but…)
  • Artefacts (ripples etc.)

Geri’s Game (Pixar studios) Splines in Toy Story 1

slide-35
SLIDE 35

Adaptive Subdivision

  • Not all regions of a model

need to be subdivided.

  • Idea: Use some criteria and

adaptively subdivide mesh where needed.

– Curvature – Screen size ( make triangles < size of pixel ) – View dependence

  • Distance from viewer
  • Silhouettes
  • In view frustum

– Careful! Must ensure that “cracks” aren’t made crack subdivide View-dependent refinement of progressive meshes Hugues Hoppe. (SIGGRAPH ’87)

slide-36
SLIDE 36

Displaced Subdivision Surfaces

  • Subdivision surfaces lack detail-smooth
  • Displaced subdivision surfaces!
  • Subdivision of a control mesh along with

displacement along the normals using a displacement map (having scalar displacement values)

slide-37
SLIDE 37

Displaced Subdivision Surfaces

slide-38
SLIDE 38

Data Structure Issues

  • We must represent a polygon mesh so that the

subdivision operations are easy to perform

  • Questions influencing the data structures:

– What information about faces, edges and vertices must we have, and how do we get at it? – Should we store edges explicitly? – Should faces know about their edges?

slide-39
SLIDE 39

Conclusions and Future Work

  • Currently there is no standard data structure for

handling Subdivision Surface schemes

  • Hardware (GPU) implementations do not exist
  • Subdivision of higher dimensional surfaces
slide-40
SLIDE 40

References

  • "Recursively generated B-Spline surfaces on arbitrary topological meshes", by E Catmull and J
  • Clark. Computer Aided Design, Vol. 10, No. 6, pp 350-355, November 1978.
  • "Behavior of recursive division surfaces near extraordinary points", by D Doo and M Sabin.

Computer Aided Design, Vol. 10, No. 6, pp 356-360, November 1978.

  • "Geometric Modeling with Splines, An Introduction" by Cohen, Riesenfeld, Elber: Section 7.2.1,

Section 13.4, Chapter 20.

  • ZORIN, D., SCHR ¨ODER, P., AND SWELDENS, W. Interpolating Subdivision for Meshes with

Arbitrary Topology. Computer Graphics Proceedings (SIGGRAPH 96) (1996), 189–192.

  • DYN, N., LEVIN, D., AND GREGORY, J. A. A Butterfly Subdivision Scheme for Surface

Interpolation with Tension Control. ACM Trans. Gr. 9, 2 (April 1990), 160–169.

  • LOOP, C. Smooth Subdivision Surfaces Based on Triangles. Master’s thesis, University of Utah,

Department of Mathematics, 1987.

  • Subdivision for Modeling and Animation – Siggraph 2000 course notes