Parameterization of Catmull-Clark Subdivision Surfaces
description
Transcript of Parameterization of Catmull-Clark Subdivision Surfaces
Parameterization of Catmull-Clark Subdivision Surfaces
CAI Hongjie | Nov 19, 2008
Catmull-Clark Subdivision Surface
parameterization
Motivations
• Future GPU pipeline
tessellation
VertexProcessing
PatchAssembly Tessellation Pixel
Processing
Motivations
• Displacement Mapping
Adaptive tessellation is needed to produce micropolygons
Papers List
• J. Stam. 1998 Exact Evaluation of Catmull-Clark Subdivision S
urfaces at Arbitrary Parameter Values• C. Loop, S. Schaefer. 2008 Approximate Catmull-Clark Subdivision Surfaces
with Bicubic Patches• H. Biermann, A. Levin, D. Zorin. 2000 Piec
ewise Smooth Subdivision Surfaces with Normal Control
Origin of Catmull-Clark Surface
• E. Catmull & J. Clark. 1978Recursively Generated B-spline Surface on Arbi
trary Topological Meshes• D. Doo. 1978
A Subdivision Algorithm for Smoothing down Irregularly Shaped Polyhedrons
• D. Doo & M. Sabin. 1978Analysis of the Behavior of Recursive Division S
urfaces Near Extraordinary Points
Knot Insertions of Uniform Bicubic B-Spline
4 4
,4 ,41 1
4 5 4 5
( , ) ( ) ( ), 1,
[ , ] [0,1], [ , ] [0,1].
ij i j i ji j
u v N u N v u v
u u u v v v
P P
5 5
,4 ,41 1
4 6 4 6
( , ) ( ) ( ), 0.5,
[ , ] [0,1], [ , ] [0,1].
ij i j i ji j
u v N u N v u v
u u u v v v
P P
u4 u5 u6
v4
v6
v5
u4 u5 u6u3 u7
v7
v6
v5
v4
v3
3 21,4 2,4 3,4 4,4
4 5
1 3 3 13 6 3 01( ( ), ( ), ( ), ( )) ( , , ,1)3 0 3 06
1 4 1 0 [ , ] [0,1]
N t N t N t N t t t t
t t t
Generating Control Points
51P
Face Point
Edge Point
Vertex Point
11P
31P
41P
21P
42P 43P 44P
24P
12P 13P 14P
32P 33P
23P22P
34P
21P
55P
22P
11P
21P
Masks for New Points21 22
1111 12
1/ 4 1/ 4
1/ 4 1/ 4
P PP
P P
31 32 33
22 2321 22
1311 12
1/ 64 3/ 32 1/ 64 3 / 32 9 /16 3/ 32
1/ 64 3/ 32 1/ 64
P P P
P PP PPP P
Face Point:
21 22 2312
11 12 13
1/16 3/ 8 1/16
1/16 3/ 8 1/16
P P PP
P P PEdge Point:
Vertex Point:
Vertex Point of valence n:
an bn
cnbncn
cn
bn
bn
2
2
714
321
4
n
n
n
an
bn
cn
Continuity Around Extraordinary Point
01 1
1 0 -1 0
( , , ,..., , )
, =
Tn n
i i m m m
P v e f e f
P SP P S P T TP
2 3 2 1
0 0
0 0 3 / 8, 1/16, 1/ 4
(1, , , , ), 1, 2.
n n n n n n
n i
a b c b b cd d e e e ef f f f
f f f fd e fdiag i
S
v e1
f1e2
f3
e3
e4
f2
en fn
21 1
( , , , ) ,1 ( , 4,1,4,1, , 4,1) ( , , , , , ) .
( 5)
T
Tn nn
n n
P v v v
v v e f e f
Exact Evaluation of Catmull-Clark Subdivision Surfaces at
Arbitrary Parameter Values
Jos Stam
Proceedings of SIGGRAPH 1998
Jos Stam• Curriculum vitae
89-95 University of Toronto 95-96 INRIA 96-97 VTT 97-06 Alias | Wavefront 06-now Autodesk
• Awards SIGGRAPH Computer Graphics Achievement Award Academy Award for Technical Achievement (2005) Academy Award for Technical Achievement (2008)
Neighborhood of Extraordinary Points
Mathematical Setting
0 0,1 0,2 0,
1 1,1 1,2 1, 1 1 1, 1 1, 2 1, 9
( , ,..., ) , 2 8,
( , ,..., ) , ( , , ,..., )
TK
T T TK K K K
K N
C c c c
C c c c C C c c c
11 0 1 0 1 0 1 0, ; , .n n
n n n n
C AC C AC A C C AC C AC AA C
11 1211 12
21 22
,
00
SS
S SA AS S
S S
Extended Subdivision Matrices
9 3, 16 321 3, 64 81 1,
16 4
a b
c d
e f
11 12
7 (2 1)
0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0
,0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0
0 0 0 0 0 00 0 0 0 0 0 0 0 0N
c b a b c b c b ce e d d e eb c b a b c c b ce d d e e ee d d e e eb c b a b c c b ce e d d e e
S S
21 22
9 (2 1)
0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0
,0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0N
f f f fd e e d e ef f f fe d e e d e
f f f fe d e e d ef f f f
e d e e d ef f f f
S S
Domain Branching
, , 1, 2,3.k n k n k B P C
, ,
1 2 16
( 1)%4,4 ( 1) / 4,4
( , ) ( , ) ( , )
( , ) [0,1] [0,1].
( , ) ( ( , ), ( , ), , ( , )) . ( , ) ( ) ( ), 1,...,16.
T T Tk n k n n k
T
i i i
u v u v u v
u v
u v b u v b u v b u vb u v N u N v i
s B b C P b
b
1, 2, 3,( , ) (2 1,2 ), ( , ) (2 1, 2 1), ( , ) (2 ,2 1)n n n n n nn n nu v u v u v u v u v u v t t t
• Control Points
• Branching Surfaces
• Branching Domain1 2 31 1 1 1
1 1 1 1 1 1 1 1 1 1[ , ] [0, ], [ , ] [ , ], [0, ] [ , ]2 2 2 2 2 2 2 2 2 2
n n nn n n n n n n n n n
, ,( , ) | ( ( , )), ( , ) [0,1] [0,1]nk
k n k nu v u v u v s s t
Eigen Analysis
, ,( , ) ( , ) ( , ), 1,2,3. 1,2,...T T Tk n k n n ku v u v u v k n s B b C P b
1
-1 1 1 1 10 0 0 0 0 1 2 2 8
1 1, 0 0
ˆ ˆ, ( , ,..., )ˆ ˆ( , ) ( ) ( , ) ( , , ), 1, 2,3. 1, 2,...
n n n Tn N
T n T T nk n ku v u v u v k k n
A V V
C AA C AV V C AV C C V C p p p
s C P AV b C x
• Branching surfaces
• Eigen structure of subdivision surface
• Basis functions2 8 2 8
1,
1 1
1,
( , ) | ( ) ( ( , ), ) = ( , )
( , ) | ( ) ( ( , ), ), 1,..., 2 8.
( / 2, / 2) ( , )
nk
nk
N Nn
i i k n i i ii i
ni i i k n
i i i
u v x u v k u v
basis functions u v x u v k i N
u v u v
s t p p
t
Illustrations of Basis Functions
• The last seven functions3 3 3 3 3 2 3 3 2 3
2 2 2 81 1 1 1 1 1 1( ,..., ) ( , , , , , , )36 6 6 2 6 6 2N N u v u u v u v v uv u v
Results
More Results
Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches
Charles Loop & Scott Schaefer
ACM Transactions on Graphics, 2008
Authors
• Charles Loop University of Utah, Master, 1987 “Smooth Subdivision Surfaces based on Triangles”
University of Washington, PhD,1992 Microsoft Corporation
• Scott Schaefer Rice University, Master, 2003 Rice University, PhD, 2006 Texas A&M University, C.S. Assistant Professor
Drawbacks of Stam’s Method
• Can’t evaluate patches with more than one extraordinary points
• One level subdivision is needed which increases memory and transfer bandwidth
• Unfitted for animation
Geometry Patches4 4 3 3
3 3,4 ,4
1 1 0 0
( , ) ( ) ( ), ( , ) ( ) ( )
( , ) [0,1] [0,1]
ij i j ij i ii j i j
u v N u N v u v B u B v
u v
P P B b
11P
31P
41P
21P
42P
24P
12P 13P 14P
32P 33P
23P22P
34P
43P44P
00b
20b
30b
10b
31b
13b
01b 02b 03b
21b 22b
12b11b
23b
32b 33b
Exchange of Basis functions
3 2 3 31,4 4,4 0 3
1 3 3 1 1 4 1 03 6 3 0 0 4 2 01 1( ( ),..., ( )) ( , , ,1) ( ( ),..., ( )) 3 0 3 0 0 2 4 06 6
1 4 1 0 0 1 4 1
N t N t t t t B t B t
[0,1]t
4 4
,4 ,41 1
311 12 13 14 0
321 22 23 243 3 1
0 331 32 33 34
41 42 43 44
( , ) ( ) ( )
1 4 1 0 1 0 0 0 ( )0 4 2 0 4 4 2 1 ( )1 1 ( ( ),..., ( ))0 2 4 0 1 2 4 46 60 1 4 1 0 0 0 1
ij i ji j
u v N u N v
B vB v
B u B uB
P P
P P P PP P P PP P P PP P P P
3233
3 33 3
0 0
( )( )
( ) ( ) ( , )ij i ji j
vB v
B u B v u v
b B
Masks for Bicubic Uniform B-Spline
• Interior point:
• Edge point:
• Corner point:
2 114 29
2 11 8 4
182 1
1 4 11 4 16 4
361 4 1
Generalized Masks
• Interior point:
• Edge point:
• Corner point:
2 1125 nn
2 11 2 4
2 102 1n
n
1( 5)n n
n2 4
141
4
4
1
Tangent Patches
2 3 2 32 3 2 3
1,0 0 0 0
3 2 3 23 2 3 2
, 10 0 0 0
( , ) ( ) ( )3( ) ( ) ( )
( , ) ( ) ( )3( ) ( ) ( )
i j i j ij i j iji j i j
i j i j ij i j iji j i j
u v B u B v B u B vu
u v B u B v B u B vv
B b b u
B b b v
As geometry patches can only meet with C0, so boundaries of tangent patches must be modified
Masks for Tangent Patch Corners
u00
0
e0f0
en-1
e1
e2
f1fn-1
2
2
1 cos( / )( ) cos(2 / ),4 cos ( / )1 )cos((2 ) / ), 0,1,..., 1.
4 cos ( / )
i
i
ne i nn n n
f i n i nn n
Tangent Patch Edges
22
00
3 33 3
0 00 0
( ) ( )
ˆ ˆ( ) ( ) , ( ) ( )
i ii
i i i ii i
t B t
t B t t B t
u u
v v v v
Purpose: G1 smooth along boundary curve u(t)
0 1
10 0 10 1 00
10 0 10 1 00 11 10
ˆ((1 ) ) ( ) ( ( ) ( )) / 2cos(2 / ), 0,1.
(2 ) / 3 ,ˆ (2 ) / 3 , 3( ).
i i
t c tc t t tc n i
c cc c
u v v
v u u xv u u x x b b
Results
More Results
Comparisons with other Methods
two subdivisions
PN Triangles: Valchos et al.2001
PCCM: Peters, J. 2000
More Comparisons
one subdivision
Piecewise Smooth Subdivision Surfaces with Normal Control
Henning Biermann Adi Levin Denis Zorin New York University Tel Aviv University New York University
Proceedings of SIGGRAPH 2000
Problems of Previous Subdivision Rules
• No suitable C1 rules for boundary
• Folds may result on concave corners
Eigen analysis
2 10
,1 ,2 ,31
2 10
1 1 1 1 11
, ( , , ).
, ( , ,..., ) .
n
i i i i i ii
nm m m T
i i ii
a a a
P a x a
P S P a x P a x a a a
0 11 1
1
2 3 2
( , , ,..., , ) , , 1,..., 2 1.
1, (1,1,...,1) ;
; 1, 4.
T i in n
i i i
Ti
i
i n
i
P v e f e f P SPSx x
xv e1
f1e2
f3
e3
e4
f2
en fn
2 1
2 2 2 3 31 4 2 2 3 3
2 11 2 2 3 3
2 2 2 3 34
( ), 2,..., 2 1.
( )
nm j j m j
m j ji i ij im n j j
m j j m jji i i
i
x x xx x j nx xx x x
a a aP a a aP a a aa a a
Tagged Meshes
• Edge tags: edges are tagged as crease edges to control the behavior of meshes
• Vertex tags Crease vertex Corner vertex Dart vertex
• Sector tags Convex sector Concave sector
Subdivision Rules• Masks for vertex points
Untagged and dart vertices: standard Crease vertex: 1/8 —— 3/4 ——1/8 Corner vertex: interpolated
• Masks for face points: standard
an bn
cnbncn
bn
bn2
2
714
321
4
n
n
n
an
bn
cn
Subdivision Rules
• Masks for Edge point Untagged edge: standard Crease edge: midpoint One end tagged edge:
1163
4
116
116
116
3 1( ) cos8 4
2 / (dart); / (crease); / ( corner).
k k
k k kk
Flatness and Normal Modification
• Flatness modification for concave corners
• Normal modification
0 01 1 2 2 3 3(1 ) ( )
0 1, flatness parameters s
s
P P a x a x a x
0 02 2 2 3 3 3
ˆ (( ) ( ) ) 0 1. ( , ) , is a prescribed normal direction.i i i
tt
N N N
P P a a x a a x
a a a
Results
Normal Interpolation
More Results
Thanks!