subdivision surfaces (from discrete to continuous) · •subdivision produces smooth continuous...
TRANSCRIPT
![Page 1: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/1.jpg)
Subdivision Surfaces(from discrete to continuous)
Pierre AlliezInria
![Page 2: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/2.jpg)
Subdivision Surfaces?
Smooth surfaces as the limit of a sequence of refinements
![Page 3: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/3.jpg)
Why Subdivision
Many advantages
– arbitrary topology
– scalable
– wavelet connection
– easy to implement
– efficient
![Page 4: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/4.jpg)
Let’s Start with Subdivision Curves
Approach a limit curve through an iterative refinement process.
Refinement 1 Refinement 2
Refinement ∞etc…
![Page 5: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/5.jpg)
Initial Idea
• linear
![Page 6: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/6.jpg)
Subdivision
4 points scheme (interpolant):
![Page 7: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/7.jpg)
Subdivision in 3D
Refinement
![Page 8: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/8.jpg)
Goals of Subdivision Surfaces
• How do we represent curved surfaces in the computer?– Efficiency of representation
– Continuity
– Affine Invariance
– Efficiency of rendering
• How do they relate to spline patches?
• Why use subdivision rather than patches?
![Page 9: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/9.jpg)
Types 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.
![Page 10: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/10.jpg)
A Primer: Chaiken’s Algorithm
112
12
4
3
4
1
4
1
4
3
iii
iii
PPQ
PPQ
Limit Curve Surface
P0
P1
P2
P3
Q0
Q1
Q2Q3
Q4
Q5
Corner cutter
![Page 11: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/11.jpg)
![Page 12: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/12.jpg)
"Cut-corner"
![Page 13: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/13.jpg)
3D Surfaces: Loop Scheme
• Works on triangular meshes
• Is an approximating scheme
• Guaranteed to be smooth (C2) everywhere except at extraordinary vertices.
![Page 14: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/14.jpg)
Loop Subdivision Masks
16
3,
8
33
nn
nn1
n n
n
nn
n
8/1
8/1
8/38/3
Notice sum of coeffs…
![Page 15: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/15.jpg)
Loop Subdivision Boundaries
Subdivision Mask for boundaries:
2
1
2
1
8
1
8
1
8
6
Edge RuleVertex Rule
![Page 16: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/16.jpg)
Catmull-Clark Subdivision (‘78)
n
ivn
f1
1FACE
4
2121 ffvve
EDGE
VERTEX
j
j
j
jii fn
en
vn
nv
221
112
![Page 17: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/17.jpg)
CC Subdivision - Example
![Page 18: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/18.jpg)
Catmull-Clark
![Page 19: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/19.jpg)
19
Localised Subdivision?
Edge bisection Triangle trisection
![Page 20: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/20.jpg)
20
![Page 21: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/21.jpg)
3-Subdivision [Kobbelt]
1->4 [Loop]
1->3
![Page 22: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/22.jpg)
3-Subdivision [Kobbelt]
Trisection
![Page 23: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/23.jpg)
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
as “smooth” as possible.
![Page 24: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/24.jpg)
Subdivision as Matrices
Subdivision can be expressed as a matrix Smask of weights w.– Smask is very sparse
– Never implemented this way
– Allows for analysis of:
• Curvature
• Limit Surface
0
2
1
0
1
0
1110
0100
ˆ
ˆ
ˆ
ˆ
00
0
0
0
ˆ
p
p
p
p
p
p
p
w
ww
ww
PPS
nnj
mask
Smask WeightsOld
Control
Points
New
Points
![Page 25: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/25.jpg)
Subdivision in production environment.
• Traditionally spline patches (NURBS) have been used in production for character animation.
• Difficult to control spline patch density in character modelling.
![Page 26: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/26.jpg)
Subdivision in production environment.
Pixar Animation Studios
![Page 27: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/27.jpg)
Modeling 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.
1. Tag Edges sharp edges.
2. If an edge is sharp, apply new subdivision rules.
3. Otherwise subdivide with normal rules.
![Page 28: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/28.jpg)
Smoothing (isotropic)
![Page 29: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/29.jpg)
29
Sharp Edges
Courtesy H.Hoppe
~anisotropic smoothing
![Page 30: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/30.jpg)
Semi-Sharp Edges…
1. Tag Edges as “sharp” or “not-sharp”
• n = 0 – “not sharp”
• n > 0 – sharp
During Subdivision,
2. if an edge is “sharp”, use sharp subdivision
rules. Newly created edges, are assigned
a sharpness of n-1.
3. 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.
![Page 31: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/31.jpg)
Courtesy T.DeRose
![Page 32: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/32.jpg)
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
![Page 33: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/33.jpg)
Adaptive Subdivision
![Page 34: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/34.jpg)
Zoo
• Schemes:
– interpolants vs approximants
– dual, primal, 3, quads, triangles, polygons
– bisection, N-section, alternate dual/primal
• Convergence -> limit surface
• Continuity and differentiability
• Piecewise smooth
• Exact evaluation
• Non stationary schemes
• Distinguish concave / convex
![Page 35: Subdivision Surfaces (from discrete to continuous) · •Subdivision produces smooth continuous surfaces. •How can “sharpness” and creases be controlled in a modeling environment?](https://reader034.vdocuments.site/reader034/viewer/2022042319/5f08d7d17e708231d423fd82/html5/thumbnails/35.jpg)
Challenges
• Non-stationnarity
• Variational approach
• Behavior / extraordinary vertices
• G1 differentiability
• etc.
courtesy L.Kobbelt