Title: Subdivision Surfaces
1Subdivision Surfaces
CS 230
2Introduction
3Introduction
Geris Game (1998) Pixar Animation Studios
4Goals of Subdivision Surfaces
Introduction
- How do we represent curved surfaces in the
computer? - Efficiency of Representation
- Continuity
- Affine Invariance
- Efficiency of Rendering
- Why use subdivision rather than Bezier patches?
vs
5Introduction
- Create Curve Surface through an Iterative
Refinement Process.
6Introduction Chaikens Algorithm
7Surface evolution
Surface evolution with subdivision level
Limit surface
8Types 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.
9Types of Subdivision
- Approximation Schemes
- Catmull-Clark Subdivision
- Doo-Sabin Subdivision
- Loop Subdivision
10Ordinary and Extraordinary
Catmull-Clark Subdivision Valence 4
Loop Subdivision Valence 6
- 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.
11Catmull-Clark Subdivision
12Catmull-Clark Subdivision
13Modeling with Catmull-Clark
- Subdivision produces smooth continuous surfaces.
- How can sharpness and creases be controlled in
a modeling environment? - ANSWER Define new subdivision rules for
creased edges and vertices.
- Tag Edges sharp edges.
- If an edge is sharp, apply new sharp subdivision
rules. - Otherwise subdivide with normal rules.
14Doo-Sabin Subdivision
15Doo-Sabin Subdivision
16Loop Subdivision
- Works on triangular meshes
- Guaranteed to be smooth everywhere except at
extraordinary vertices.
17Loop Subdivision
18Subdivision Boundaries
- Subdivision for Boundary Conditions
19Loop Subdivision
20Comparison
Catmull- Clark Doo- Sabin Loop
21Subdivision in a production environment.
- Traditionally spline patches (NURBS) have been
used in production for character animation. - Difficult to control spline patch density in
character modelling.
Subdivision in Character Animation Tony Derose,
Michael Kass, Tien Troung (SIGGRAPH 98)
(Geris Game, Pixar 1998)
22Sharp Edges
- Tag Edges as sharp or not-sharp
- n 0 not sharp
- n gt 0 sharp
- During Subdivision,
- if an edge is sharp, use sharp subdivision
rules. Newly created edges, are assigned a
sharpness of n-1. - If an edge is not-sharp, use normal smooth
subdivision rules.
IDEA Edges with a sharpness of n do not get
subdivided smoothly for n iterations of the
algorithm.
23Other Subdivision Schemes
- Complex data structures required to perform
subdivision. - Every polygon ( triangle, quad, ..) must know its
neighbors - Every vertex must know its neighbors
- Can we do something simpler?
- Use vertex normal information to help guess
about neighboring polygons. - Subdivide based on the normals.
subdivision
24PN Triangles
- Interpolating Scheme.
- Geom Normal
25Local Subdivision (PN triangles)
26Local Subdivision (PN triangles)
- Defined from triangular bezier patches.
Curved PN Triangles Alex Vlachos Joerg
Peters Chas Boyd Jason Mitchel
27Local Subdivision (PN triangles)
28Subdivision
- Advantages
- Easy to implement
- No complex data structures
- Easy to integrate into existing graphics
applications - Hardware amenable
- ATI Radeon 8500
- Looks good
- Disadvantages
- No guarantees on higher level continuity.
- Is limited in the amount of curvature it can
provide. - In some sense it is a hack and not as correct.
29Adaptive 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 87)
30Subdivision Surfaces for Compression
?
(Refinement)-1
Progressive Geometry Compression Andrei
Khodakovsky, Peter Schröder and Wim Sweldens
(SIGGRAPH 2000)
31Meshing from Particle Systems
- Witkin Heckbert Siggraph 94
- Constrain particle system to implicit surface
(Implicit surface f 0 becomes constraint
surface C 0) - Particles exert repulsion forces onto each other
to spread out across surface - Particles subdivide to fill open gaps
- Particles commit suicide if overcrowded
- Display particle as oriented disk
- Constrain implicit surface to particles!
32Meshing Particles
- Stander Hart Siggraph 97
- Use particles as vertices
- Connect vertices into mesh
- Track/find critical points
- of function to detect changes
- in topology of implicit surface
33Shrinkwrapping
- Look at family of surfaces f -1(s) for s gt 0
- For s large, f -1(s) spherical
- Polygonize sphere
- Reduce s to zero
- Vertices to track surface
- Subdivide polygons as
- necessary when curvature
- increases
34Conclusions and Future Work
- Currently there is no standard data structure for
handling general Subdivision Surface schemes - Hardware (GPU) implementations do not exist
- Subdivision of higher dimensional surfaces