procedural shape synthesis on subdivision surfaces luiz velho, ken perlin, lexing ying, henning...

22
Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Post on 20-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Procedural Shape Synthesis on Subdivision Surfaces

Luiz Velho, Ken Perlin,

Lexing Ying, Henning Bierman

SIBGRAPI 2001

Page 2: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Outline

Introduction Background: Procedural Texture

Generation Definition: Multiresolution Surfaces Framework for Multiscale Synthesis Examples Conclusion & Discussion

Page 3: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Introduction

Purpose– Describe a framework to integrate procedural

shape synthesis Advantage

– Allow additions of details at different levels of scale

Background– Procedural texture generation– Multiresolution surfaces

Page 4: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Texture Mapping

Common Approach– Cylindrical 2D texture mapping– Map coordinates of texture field (2D) onto

surface (3D)– (u, v) = F(x, y, z)– Problem:

• Large variations in the compression of the texture depending on the nature of the surface

Page 5: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Texture Mapping

3D Texture Mapping (Solid Texture)– Assign an object with a texture that involves

the evaluation of a 3D texture function at the surface points of that object.

– “carving an object (surface) out of a block of material (texture)”

– Disadvantage:• Texture patterns are only limited to those that can

analytically be constructed.

Page 6: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Procedural Texture Generation

3D Noise Function– Input: 3D position– Output: single scalar value– Noise Function:

• Statistical invariance under rotation

• Statistical invariance under translation

Page 7: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Procedural Texture Generation

Example: Fractal-based terrain generation– Create a 3D terrain model:

1. Start with some coarse approximation• (e.g. a pyramid to simulate a mountain)

2. Subdivide each facet

3. Add spatial perturbation

face 1

Page 8: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Multiresolution Surfaces

Definition:– Extension of subdivision surfaces– Introduce details at each subdivision level– Finer mesh is computed by adding detail offsets

to the subdivided coarser mesh– Synthesis -

• Process of reconstructing a surface from a coarse mesh and the details

– Multi-scale synthesis = addition of geometric details at various levels of subdivision

Page 9: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Framework for Multi-scale Procedural Shape Synthesis

Multi-scaleShape

DefinitionCombiner

AlphaSignal

PostProcesses

Shape info inGlobal: (x, y, z)or Local: (u, v)

A set of displacementcontrol points (details) at each scale

Painted by useror procedurallydefined

Detaileddisplacedsurface

render

Page 10: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Multi-scale Shape Definition

Addition of geometric details at various levels of the multi-scale shape model

Need a procedural definition of the basic shape feature to paste on a surface at some scale level

Define procedural function: FMulti-scale

Shape Definition

Combiner

AlphaSignal

PostProcesses

Page 11: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Multi-scale Shape Definition

F = function to synthesize the difference between the feature at two successive scale levels

P, l F (P, l) D = F (P, l)

P = a point on the surface in global (x,y,z) or intrinsic local (u,v)l = scale level

D = displacement to be added as detail at level l

Page 12: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Multi-scale Shape Definition

D = F (P, l) 2 characteristics can be altered:

– The type of coordinates (global or local)– Magnitude of displacements relatives to the

level• D proportional to l

• D inverse proportional to l

Page 13: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Multi-scale Shape Definition

Models based on:– Global coordinates = volumetric shape

definitions– Local coordinates = surface shape definitions

• “features are grown on the surface”

– D = F(P, l)– D proportional to l = morphogenic-like features– D inverse proportional to l = fractal-like

features

Page 14: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Examples

1. Tentacle: local, morphogenic

2. Berry: local, fractal

3. Mushroom cloud: global, morphogenic

4. Rock: global, fractal

Page 15: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Tentacle Example

Vector tentacle_detail (Point2D seed, int level) {Scalar magnitude = reference_length * level;Scalar p = (PI/3) * level;Vector displacement = (sin(Φ+p), cos(Φ+p), 1);if (is_even(level)) {

displacement *= -1;}return displacement * magnitude;

}

seed in (u,v)

reference_length

Φ

Page 16: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Berry Example

Spread a set of equally spaced seed points on the surface Recursively generate details by defining a volume texture

around each seed point from the previous level Redefine surface normal at each scale level to make

features at each level grow outwards

Page 17: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Mushroom Cloud Example

Features grow from seed points on the surface, based on global coordinates

Displacement directly proportional to scale level

Page 18: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Rock Example

Spatial coordinates of surface are used as input of a noise function generator.

Displacement is inversely proportional to scale level

Page 19: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Applying Multiscale Details to Surface Apply the shape detail procedures to

construct a single feature at a given seed point of the surface

Page 20: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Applying Multiscale Details to the Surface Details added at different levels may

interfere with each other

Level 1 Level 3 Level 1 & 3

Page 21: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Conclusion

Procedural methods to generate multi-scale details described

Framework here provided a powerful paradigm for:– 3D texture generation– Appling of multi-scale details on predefined

shapes or surfaces

Page 22: Procedural Shape Synthesis on Subdivision Surfaces Luiz Velho, Ken Perlin, Lexing Ying, Henning Bierman SIBGRAPI 2001

Discussion