45
Parameterization of Catmul l-Clark Subdivision Surfac es CAI Hongjie | Nov 19, 2008

Parameterization of Catmull-Clark Subdivision Surfaces

  • Upload
    ivan

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

Parameterization of Catmull-Clark Subdivision Surfaces. CAI Hongjie | Nov 19, 2008. Catmull-Clark Subdivision Surface. parameterization. Motivations. Future GPU pipeline tessellation. Vertex Processing. Patch Assembly. Tessellation. Pixel Processing. Motivations. - PowerPoint PPT Presentation

Citation preview

Page 1: Parameterization of Catmull-Clark Subdivision Surfaces

Parameterization of Catmull-Clark Subdivision Surfaces

CAI Hongjie | Nov 19, 2008

Page 2: Parameterization of Catmull-Clark Subdivision Surfaces

Catmull-Clark Subdivision Surface

parameterization

Page 3: Parameterization of Catmull-Clark Subdivision Surfaces

Motivations

• Future GPU pipeline

tessellation

VertexProcessing

PatchAssembly Tessellation Pixel

Processing

Page 4: Parameterization of Catmull-Clark Subdivision Surfaces

Motivations

• Displacement Mapping

Adaptive tessellation is needed to produce micropolygons

Page 5: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 6: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 7: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 8: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 9: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 10: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 11: Parameterization of Catmull-Clark Subdivision Surfaces

Exact Evaluation of Catmull-Clark Subdivision Surfaces at

Arbitrary Parameter Values

Jos Stam

Proceedings of SIGGRAPH 1998

Page 12: Parameterization of Catmull-Clark Subdivision Surfaces

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)

Page 13: Parameterization of Catmull-Clark Subdivision Surfaces

Neighborhood of Extraordinary Points

Page 14: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 15: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 16: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 17: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 18: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 19: Parameterization of Catmull-Clark Subdivision Surfaces

Results

Page 20: Parameterization of Catmull-Clark Subdivision Surfaces

More Results

Page 21: Parameterization of Catmull-Clark Subdivision Surfaces

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

Charles Loop & Scott Schaefer

ACM Transactions on Graphics, 2008

Page 22: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 23: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 24: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 25: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 26: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 27: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 28: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 29: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 30: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 31: Parameterization of Catmull-Clark Subdivision Surfaces

Results

Page 32: Parameterization of Catmull-Clark Subdivision Surfaces

More Results

Page 33: Parameterization of Catmull-Clark Subdivision Surfaces

Comparisons with other Methods

two subdivisions

PN Triangles: Valchos et al.2001

PCCM: Peters, J. 2000

Page 34: Parameterization of Catmull-Clark Subdivision Surfaces

More Comparisons

one subdivision

Page 35: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 36: Parameterization of Catmull-Clark Subdivision Surfaces

Problems of Previous Subdivision Rules

• No suitable C1 rules for boundary

• Folds may result on concave corners

Page 37: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 38: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 39: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 40: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 41: Parameterization of Catmull-Clark Subdivision Surfaces

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

Page 42: Parameterization of Catmull-Clark Subdivision Surfaces

Results

Page 43: Parameterization of Catmull-Clark Subdivision Surfaces

Normal Interpolation

Page 44: Parameterization of Catmull-Clark Subdivision Surfaces

More Results

Page 45: Parameterization of Catmull-Clark Subdivision Surfaces

Thanks!