Title: 3D Modeling Subdivision Surfaces
13D ModelingSubdivision Surfaces
Geris Game (1998) Pixar Animation Studios
2Modeling
- How do we ...
- Represent 3D objects in a computer?
- Construct such representations quickly and/or
automatically with a computer? - Manipulate 3D objects with a computer?
- 3D Representations provide the foundations for
Computer Graphics, Computer-Aided Geometric
Design, Visualization, and Robotics - Different methods for different object
representations
33D Object Representations
- Raw data
- Point cloud
- Range image
- Polygon soup
- Surfaces
- Mesh
- Subdivision
- Parametric
- Implicit
- Solids
- Voxels
- BSP tree
- CSG
4Point Cloud
- Unstructured set of 3D point samples
5Range Image
- Set of 3D points mapping to pixels of depth image
- Acquired from range scanner
6Polygon Soup
- Unstructured set of polygons
73D Object Representations
- Raw data
- Point cloud
- Range image
- Polygon soup
- Surfaces
- Mesh
- Subdivision
- Parametric
- Implicit
- Solids
- Voxels
- BSP tree
- CSG
8Mesh
- Connected set of polygons (usually triangles)
- May not be closed
9Parametric Surface
- Tensor product spline patchs
- Careful constraints to maintain continuity
10Subdivision Surface
- Coarse mesh subdivision rule
- Define smooth surface as limit of sequence of
refinements
11Implicit Surface
- Points satisfying F(x,y,z) 0
123D Object Representations
- Raw data
- Point cloud
- Range image
- Polygon soup
- Surfaces
- Mesh
- Subdivision
- Parametric
- Implicit
- Solids
- Voxels
- BSP tree
- CSG
13Voxels
- Uniform grid of volumetric samples
- Acquired from CAT, MRI, etc.
14BSP Tree
- Binary space partition with solid cells labeled
- Constructed from polygonal representations
15CSG
- Hierarchy of boolean set operations (union,
difference, intersect) applied to simple shapes
16Subdivision Surface
- Subdivision methods refine a (simple) control
polygon such that in the limit it converges to a
smooth curve. - A multitude of different curve and surface types
can be described by subdivision.
17Subdivision Surfaces
- Approach Limit Curve Surface through an Iterative
Refinement Process.
18Subdivision in 3D
- Same approach works in 3D
19Problems with Splines
- Traditionally spline patches (NURBS) have been
used in production for character animation. - Difficult to stitch together
- Maintaining continuity is hard
- Trimming boundaries is hard
- Difficult to model objects with complex topology
Subdivision in Character Animation Tony Derose,
Michael Kass, Tien Troung (SIGGRAPH 98)
(Geris Game, Pixar 1998)
20Example Geris Game
- Subdivision surfaces are used for
- Geris hands and head.
- Clothes Jacket, Pants, Shirt.
- Tie and Shoes.
- Movie
(Geris Game, Pixar 1998)
21Why Subdivision Surfaces?
- Subdivision methods have a series of interesting
properties - Applicable to meshes of arbitrary topology
(non-manifold meshes). - Scalability, level-of-detail.
- Numerical stability.
- Simple implementation.
- Compact support.
- Affine invariance.
- Continuity.
22Types of Subdivision
- Interpolating Schemes
- Limit Surfaces/Curve will pass through original
set of data points. - Approximating Schemes
- Limit Surface will not necessarily pass through
the original set of data points.
23Subdivision in 1-D
- Simplest example piecewise linear subdivision
24Chaikens Algorithm
25Key Questions in Subdivision
- How refine mesh?
- Topology change
- Where to place new vertices
- Provable properties about limit surface
26Loop Subdivision Scheme
- How refine mesh?
- Refine each triangle into 4 triangles by
splitting each edge and connecting new vertices
27Loop Subdivision Scheme
- How position new vertices?
- Choose locations for new vertices as weighted
average of original vertices in local
neighborhood - What if vertex does not have degree 6?
28Loop Subdivision SchemeRule for extraordinary
vertices
29Loop Subdivision Scheme
- How to choose
- Analyze properties of limit surface
- Interested in continuity of surface and
smoothness - Involves calculating eigenvalues of matrices
- Original
- Warren
30Loop Subdivision Boundaries
- Subdivision Mask for Boundary Conditions
Vertex Rule
Edge Rule
31Subdivision 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
Smask Weights
Old Control Points
New Points
32Loop Subdivision Scheme
- Works on triangular meshes
- Is an Approximating Scheme
- Guaranteed to be smooth everywhere except at
extraordinary vertices.
33Subdivision Schemes
- There are different subdivision schemes
- Different methods for refining topology
- Different rules for positioning vertices
- Interpolating versus approximating
34Catmull-Clark Subdivision
35Adaptive 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 lt size of pixel )
- View dependence
- Distance from viewer
- Silhouettes
- In view frustum
- Careful! Must ensure that cracks arent made
crack
subdivide
View-dependent refinement of progressive meshes
Hugues Hoppe. (SIGGRAPH 97)
36Subdivision Surfaces for Compression
?
Progressive Geometry Compression Andrei
Khodakovsky, Peter Schröder and Wim Sweldens
(SIGGRAPH 2000)
37Subdivision Surface Summary
- Advantages
- Simple method for describing complex surfaces
- Relatively easy to implement
- Arbitrary topology
- Local support
- Guaranteed continuity
- Multi-resolution
- Difficulties
- Intuitive specification
- Parameterization
- Intersections