Logistics Paper summaries on Procedural Modeling Procedural - - PDF document

logistics
SMART_READER_LITE
LIVE PREVIEW

Logistics Paper summaries on Procedural Modeling Procedural - - PDF document

Logistics Paper summaries on Procedural Modeling Procedural Modeling Any takers? Assignments Assignments Write-ups for all 3 projects now on Web Ray Tracing Round off error New Due Dates Ambient or no ambient


slide-1
SLIDE 1

Procedural Modeling

Logistics

  • Paper summaries on Procedural Modeling

– Any takers?

Assignments

  • Write-ups for all 3 projects now on Web
  • New Due Dates

– Rendering – Feb 4th – Procedural Shading (Cg) – Feb 11th – Tone Reproduction – Feb 20th

  • Or

– Rendering 1 – Feb 11th – Rendering 2 - -Feb 20th

Assignments

  • Ray Tracing

– Round off error – Ambient or no ambient

Announcement

  • Society of Software Engineers presents

– An Introduction to C#

  • Friday, January 31
  • 1-2 pm
  • 08-1250

– Free pizza, drinks, and door prizes!

Projects

  • Mid-quarter report due today
  • Presentations

– Please send preferences to me – Last class all booked.

slide-2
SLIDE 2

Questions? Plan for today

  • Procedural Modeling

Computer Graphics as Virtual Photography

camera (captures light) synthetic image camera model (focuses simulated lighting)

processing

photo processing tone reproduction real scene 3D models Photography: Computer Graphics: Photographic print

Procedural Modeling

  • Use a function or procedure to define the

surface/structure of a 3D object.

  • Examples

– Hypertexture – Fractals – Grammar Based Methods

Hypertexture

  • Hypertexture [Perlin89]

– Extension of PSE concepts to 3d models – Combination of surface + texture – Objects modeled as distribution of density

  • hard region - objects completely solid
  • soft region - object shape is maleable using a toolkit
  • f shaping functions.

Hypertexture

  • Hypertexture

– Object Density function

  • D (x) for all points x in 3D space
  • 0 <= D (x) <= 1
  • D (x) = 0 for all points outside the surface
  • D (x) = 1 for hard region of the object
  • 0 < D (x) < 1 for soft region of the object
slide-3
SLIDE 3

Hypertexture

  • Hypertexture

– Density Modulation Function

  • fi - Used to control density in soft region
  • position dependent - f (x)
  • position independent - f (k)
  • geometry dependent - depend on variables other

than x but may be derived from x (e.g. density gradient near x)

Hypertexture

  • Hypertexture

– Toolbox of base DMFs

  • bias
  • gain
  • noise
  • turbulence
  • mathematical functions

Hypertexture

  • Hypertexture

– bias

  • push up or pull down object density

) 5 . ln( ) ln(b b

t bias =

[Perlin89]

Hypertexture

  • Hypertexture

– gain

  • Makes object density gradient flatter or steeper

   − < =

− −

2 / ) 2 2 ( 5 . if 2 / ) 2 (

1 1

t bias t t bias gain

g g g

Hypertexture

  • Hypertexture

– gain

[Perlin89]

Hypertexture

  • Hypertexture

– noise & turbulence – turbulence - sum of noise at variety of frequencies

)) 2 ( 2 1 ( ) ( x noise abs x turbulence

i i i

=

slide-4
SLIDE 4

Hypertexture

  • Hypertexture - example (noise)

– f = frequency – a = amplitude

)) ( 1 1 ( ) , , ( fx noise f ax a f x D + =

Hypertexture

  • Hypertexture example (noise)

Twice the frequency half the amplitude

[Perlin89]

Hypertexture

  • Hypertexture - example (fire)

)) ( 1 ( ) ( x turbulence x x D + =

[Perlin89]

Hypertexture

  • Hypertexture - examples (fur)

– Start with a soft object defined by D(x) – Hair defined within soft region – project - projects x onto hard region – Controlled using gain and bias

  • Low bias == more space than hair
  • High gain = hard boundary

Hypertexture

  • Hypertexture - example fur

[Perlin89]

Some animated hypertextures

slide-5
SLIDE 5

Some animated hypertextures Some animated hypertextures Hypertexture

  • Rendering Hypertexture

– Density functions actually define opacity through a 3D space – Raymarching Algorithm

  • Collect opacity along a ray going through a density

function

  • Modify the color/opacity of actual shading point

based on opacity collected

Hypertexture

  • Raymarching algorithm

Calculate point along ray While (current point is in front of shade point) call density function calculate light hitting point update collected opacity / color calculate next point along ray End Modify opacity / color of shading point

Hypertexture

  • Hypertexture - Further Reading

– [Perlin89] – Ebert, et. al,Texturing & Modeling: A Procedural Approach. – Questions?

Fractals

  • Fractals

– A language of form for shaped and phenomena common in Nature – “Geometrical complex object, the complexity of which arises through the repetition of form over some range of scale”.

slide-6
SLIDE 6

Fractals

  • Fractals

– Statistical self-similarity at all scales.

Fractals

  • Fractals

– repetition of some underlying shape (basis function) at different scales

Foley/VanDam/Feiner/Hughes

Fractals

  • Koch curve

– applet

Fractals

  • Fractals - Mandelbrot Set

Foley/VanDam/Feiner/Hughes

Fractals

  • Fractals - Mandelbrot Set

– Plot of a recursive Mathematical function in the complex plane

  • Zn = Zn-1

2 + C

– For each complex number C, the function will:

  • Move quickly to infinity (outside of the set)
  • Move slowly to infinity (on the border of the set)
  • Remain near the origin (inside the set)

Fractals

  • Fractals - Mandelbrot Set

– Create image by coloring based on how many iterations it takes to indicate divergence towards infinity. – Function is self-similar as we zoom into different areas of the plot on the complex plane.

slide-7
SLIDE 7

Fractals

  • Fractals - Mandelbrot Set

– Fractint

Fractals

  • Fractals -- a simple example

Foley/VanDam/Feiner/Hughes

Fractals

  • Fractals - a simple example

[Fournier82]

Fractals

  • Fractals - extend to 2d

Foley/VanDam/Feiner/Hughes

Fractal Terrain

  • Fractal Terrain (Paul Bourke)

Fractal Terrain

slide-8
SLIDE 8

Fractal Terrain Fractal Terrain

  • Fractals – Terrain Modeling

Foley/VanDam/Feiner/Hughes

Fractal Terrain

  • My favorite fractal landscape

– by F. Kenton Musgrave

Fractals

  • Fractal - fractal dimension

a.b

a = Euclidean dimension b = fraction of filling up next dimension

Fractals

  • Fractals -- why fractals?

– Procedural way to add complexity to a scene – Elements of nature posses fractal properties.

Fractals

  • Fractals - What they are good for

– Modeling nature

  • Terrain
  • Clouds
  • Coastlines
  • Trees / Landscaping
slide-9
SLIDE 9

Fractals

“If one assumes that a certain error (e.g., pixel-sized) in the ray-surface intersection is acceptable, one can directly ray-trace a procedurally-defined height field with essentially perfect level of detail.”

  • - Ken Musgrave

Fractal Modeling

  • Fractal modeling

– Like Mandelbrot set, Infinitely zoomable – Render at resolution that is most appropriate – Instant anti-aliasing. – Can model a whole planet procedurally

Fractal Modeling Gaea Zoom Fractal Modeling

  • Videos

– Maiden Voyage – Panoramas – MojoWorld demo

Fractal Modeling

  • http://www.pandromeda.com

– Explore fractal worlds on-line

F.K. Musgrave

slide-10
SLIDE 10

Fractals

  • Fractals - just the tip of the iceberg
  • For more info:

– [Fournier82] – Pietgen, The Science of Fractal Images – Pietgen, The Beauty of Fractals – Ebert, et al, Modeling & Texturing... – Questions?

Grammar Based Systems

  • Grammar Based Systems

– Building of models based on formal language grammars – Grammar consists of:

  • Set of characters
  • Productions Rules
  • Start word

Grammar Based Systems

  • Grammar Based Systems - Example

Characters: {A, B,[, ]} Rules: A -> AA

  • B->A[B]AA[B]

Start word B

Iteration: 0: B 1: A[B]AA[B] 2: AA[A[B]AA[B]]AAAA[A[B]AA[B]]

Grammar Based Systems

  • Grammar Based Systems

– But how does this help us create models? – Assign a drawing action to each character: – L-System (Lindenmeyer) used to create tree-like structures:

  • F move forward and draw
  • f move forward and do not draw
  • + increase angle with angle increment
  • - decrease angle by angle increment
  • [ push state (I.e. branch)
  • ] pop state (I.e finish branch)

Grammar Based Systems

  • L-Systems

– F=F[+F]F[-F]F

Grammar Based Systems

L – Systems Go to applet

slide-11
SLIDE 11

Grammar Based Systems

  • L-Systems

– Note that structures created using L-Systems are fractal like in the sense that they are sel- similar at different levels – Self-similarity achieved by repeatedly applying production rules

Grammar Based Systems

  • Koch curve as an L-system

– F=F+F- -F+F

Foley/VanDam/Feiner/Hughes

Grammar Based Systems

  • Koch curve as an L-system

– Go to applet

Procedural Models

  • Summary

– Use of a function to define objects – Types

  • Hypertexture
  • Fractals
  • L-Systems

– Good for

  • Landscapes
  • Non-solid type objects

Remember

  • Class Web Site:

– http://www.cs.rit.edu/~jmg/cgII

  • Any questions?