Advanced Computer Graphics Advanced Computer Graphics CS 563: Curves - - PowerPoint PPT Presentation

advanced computer graphics advanced computer graphics cs
SMART_READER_LITE
LIVE PREVIEW

Advanced Computer Graphics Advanced Computer Graphics CS 563: Curves - - PowerPoint PPT Presentation

Advanced Computer Graphics Advanced Computer Graphics CS 563: Curves and Curved Surfaces II Xin Wang Computer Science Dept. Worcester Polytechnic Institute (WPI) C Continue Curves ti C Parametric Curves Parametric Curves Parametric


slide-1
SLIDE 1

Advanced Computer Graphics Advanced Computer Graphics CS 563: Curves and Curved Surfaces II Xin Wang

Computer Science Dept. Worcester Polytechnic Institute (WPI)

slide-2
SLIDE 2

C ti C Continue Curves

 Parametric Curves  Parametric Curves  Parametric Curved Surfaces

I li it S f

 Implicit Surfaces  Subdivision Curves

bdi i i f

 Subdivision Surfaces  Efficient Tessellation

slide-3
SLIDE 3

S bdi i i C Subdivision Curves

 What is Subdivision?  What is Subdivision?  Define a smooth surface as the limit of a

f i fi t sequence of successive refinements

slide-4
SLIDE 4

Subdivision Curves

 Why uses Subdivision?

 Arbitrary topology  Scalability, LOD

U if i

 Uniformity  Numerical quality

C d i li it

 Code simplicity

 Subdivision Curves are best explained by

l th t tti examples that uses corner cutting

slide-5
SLIDE 5

S bdi i i C Subdivision Curves

 How are the new points determined?  How are the new points determined?

 Efficiency ‐> small number of floating point operations  Compact support > region should be small and finite  Compact support ‐> region should be small and finite  Local definition ‐> new point should “not far away”  Affine invariance > shape follow the same  Affine invariance ‐> shape follow the same

transformation as original set of points

 Simplicity ‐> process should be simple

Simplicity process should be simple

 Continuity ‐> curves and surface smooth

slide-6
SLIDE 6

S bdi i i S f Subdivision Surfaces

 Loop subdivision  Loop subdivision  Modified Butterfly subdivision 

‐Subdivision

 Catmull‐Clark subdivision

3

 Piecewise Smooth subdivision  Displaced subdivision

p

 Normal, Texture and Color interpolation

slide-7
SLIDE 7

L S bdi i i Loop Subdivision

 First subdivision scheme for triangles  First subdivision scheme for triangles

slide-8
SLIDE 8

L S bdi i i Loop Subdivision

 Subdivision rules  Subdivision rules

 A generalized three‐directional quartic box spline

slide-9
SLIDE 9

M difi d B tt fl S bdi i i Modified Butterfly Subdivision

 Subdivision rules  Subdivision rules

 Regular setting  Semi regular setting  Semi‐regular setting  Irregular setting  Boundaries  Boundaries

slide-10
SLIDE 10

S bdi i i

3‐Subdivision

 Loop’s and MB schemes split each triangle into

3

 Loop s and MB schemes split each triangle into

four new ones K bb lt’ h t l th

 Kobbelt’s ‐schema creates only three new

triangles per subdivision step

3

slide-11
SLIDE 11

C t ll Cl k bdi i i Catmull‐Clark subdivision

 Handle polygonal meshes  Handle polygonal meshes

 Catmull‐Clark and Doo‐Sabin

slide-12
SLIDE 12

Pi i S th S bdi i i Piecewise Smooth Subdivision

 To improved the detail of darts corners and  To improved the detail of darts, corners and

creases

 Vertices are classified into:

 Smooth s = 0  Dart s = 1  Crease s = 2  Corner s > 2

slide-13
SLIDE 13

Di l d S bdi i i Displaced Subdivision

 To add additional geometric detail to a  To add additional geometric detail to a

tessellated surface, we can use displacement mapping

 With this technique, a displacement map is

stored, which is much like a texture map that stores a height value per texel instead of a color stores a height value per texel instead of a color

 As with texture mapping, we can assign a texture

coordinate to each corner of the patch that ll h d l allows us to position the displacement map onto the surface

slide-14
SLIDE 14

Normal, Texture and Color I t l ti Interpolation

 Compute normal  Compute normal

 Limit normals for Loop’s and MB  Approximating technique for nonrmals of Catmull  Approximating technique for nonrmals of Catmull‐

Clark

 Compute texture and color  Compute texture and color

slide-15
SLIDE 15

T ll ti Tessellation

 What is Tessellation?  What is Tessellation?

 Create a triangle mesh representation of the surface

 Why is Tessellation?

 Efficient

slide-16
SLIDE 16

Tessellation Tessellation

 Tessellation is the process of taking a complex

surface (like a bicubic patch) and approximating it with a set of simpler surfaces (like triangles)

 In computer graphics, there are a lot of different

types of complex surfaces one might want to tessellate such as: tessellate, such as:

Parametric surfaces (such as Bezier surfaces)

Displacement mapped surfaces

Subdivision surfaces

Fractals

Procedural models

Procedural models

Implicit surfaces

slide-17
SLIDE 17

Effi i t T ll ti Efficient Tessellation

 Hardware Tessellation pipeline  Hardware Tessellation pipeline  Fractional Tessellation  Vertex + Evaluation Shader  Adaptive Tessellation  Catmull‐Clark Surfaces with Hardware

Tessellation

slide-18
SLIDE 18

H d T ll ti Pi li Hardware Tessellation Pipeline

 Change rendering pipeline  Change rendering pipeline

slide-19
SLIDE 19

F ti l T ll ti Fractional Tessellation

 To obtain smoother level of detail for parametric  To obtain smoother level of detail for parametric

surfaces

slide-20
SLIDE 20

V t E l ti Sh d Vertex + Evaluation Shader

 Compute each vertex position which located on a  Compute each vertex position which located on a

curved surface Th h d t ll t i l f d th

 The hardware tessellator simply forwards the

parameteric coordinates to the vertex shader

slide-21
SLIDE 21

Ad ti T ll ti Adaptive Tessellation

 Very often the goal of a tessellation is to provide  Very often, the goal of a tessellation is to provide

the fewest triangles necessary to accurately represent the original surface

 For a curved surface, this means that we want

more triangles in areas where the curvature is high and fewer triangles in areas where the high, and fewer triangles in areas where the curvature is low

 We may also want more triangles in areas that

l h d f f h are closer to the camera, and fewer farther away

 Adaptive tessellation schemes are designed to

address these requirements address these requirements

slide-22
SLIDE 22

Catmull‐Clark Surfaces with H d T ll ti Hardware Tessellation

 Combine together  Combine together

slide-23
SLIDE 23

References

 Real‐Time Rendering, 3rd Edition, Akenine‐Möller,

Haines, Hoffman

 Subdivision for Modeling and Animation, SIGGRAPH

98 course notes, Peter Schröder, Denis Zorin // / / /

 http://www.multires.caltech.edu/teaching/courses/s

ubdivision/