23
Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert to polygonal models and use z-buffer

Procedural Models

  • Upload
    prue

  • View
    26

  • Download
    0

Embed Size (px)

DESCRIPTION

Procedural Models. How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert to polygonal models and use z-buffer. Basic Procedural Approaches. composition from primitive shapes extrusion - PowerPoint PPT Presentation

Citation preview

Page 1: Procedural Models

Procedural Models

How to easily generate complex data?

Data from parameterized procedure and/or digitized

Data amplification

Ray trace directly v. convert to polygonal models and use z-buffer

Page 2: Procedural Models

Basic Procedural Approaches

composition from primitive shapes extrusion surface of revolution lofting sweep operator

Page 3: Procedural Models

Composition

Controlled randomness

Procedurally generated

Page 4: Procedural Models

Extrusion

Page 5: Procedural Models

Surface of revolution

Page 6: Procedural Models

Lofting

Page 7: Procedural Models

Sweep Operator

Combines extrusion, lofting, and surface of revolution

Page 8: Procedural Models

More sophisticated approaches

CSG Subdivision surfaces Curves & surfaces Fractals Implicit functions

Page 9: Procedural Models

CSG:constructivesolid geometry

primitive shapes union, difference, intersection tree structure representation Ray trace directly Evaluate to polyhedron with Boolean operators OpenGL rendering using stencil buffer http://www.opengl.org/resources/code/samples/advanced/ advanced97/notes/node11.html

Page 10: Procedural Models

Subdivision surfaces

What is resulting limit surface? What is continuity of limit surface?

Initial coursely defined geometry Refine geometry by rounding corners, subdividing faces and edges, smoothing faces

Page 11: Procedural Models

Subdivision surfaces

Round corners Catmull-Clark Doo-Sabin Loop Butterfly

Page 12: Procedural Models

Catmull-Clark Subdivision

Page 13: Procedural Models

Loop Subdivision

Page 14: Procedural Models

Curved surface patches

Hermite curve & patches Bezier curve & patches Catmull-Rom spline B-spline

Page 15: Procedural Models

Hermite Curve Given: starting and ending points and tangents Determine cubic equation that satisfies constraints

cbuauuP

dcubuauuP

23)('

)(2

23

cbatP

ctP

dcbapP

dpP

231)1('

0)0('

1)1(

0)0(

1

0

1

0

0001

0100

1233

1122

1)( 23

t

t

p

p

uuuUMBuP

Page 16: Procedural Models

Hermite Patch Given: starting and ending points and tangents Determine bicubic equation that satisfies constraints

vuMBMvuP T),(

Page 17: Procedural Models

Fractal geometry Objects that exhibit similarity under scale e.g., Koch curve

Mathematically curious - continuous, infinite length, nowhere differentiable, bounded

Page 18: Procedural Models

Serpinski Gaskets

Page 19: Procedural Models

Other fractal shapes

Mandelbrot set Coastlines Mountains

statistically self-similar under scale

Page 20: Procedural Models

Create mountains

1. Subdivide triangle2. Displace upward3. Reduce amplitude of

displacement4. Recurse on subdivisions

Page 21: Procedural Models

Implicit functions & isosurfaces

f(x,y,z) = 0 “density” function distance-based implicit functions Marching Cubes algorithm

Page 22: Procedural Models

Marching Cubes :convert to polygons

Page 23: Procedural Models

Implicit functions & isosurfaces