Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias |...

10
1 Diffraction Shaders Jos Stam Alias | wavefront Seattle, WA USA From microsurface models to reflection models Shaders Model reflection from surfaces N L E Shaders Perfectly smooth surface N L E Not very interesting Shaders Rough surfaces N L E More interesting Shaders Rough surfaces N L E Zoom in on microstructure Shaders Rough surfaces N L E Reflection depends on the microsurface

Transcript of Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias |...

Page 1: Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias | wavefront Seattle, WA USA From microsurface models to reflection models Shaders Model reflection

1

Diffraction Shaders

Jos StamAlias | wavefrontSeattle, WA USA

From microsurface models to reflection models

Shaders

Model reflection from surfaces

N

L E

Shaders

Perfectly smooth surface

N

L E

Not very interesting

Shaders

Rough surfaces

N

L E

More interesting

Shaders

Rough surfaces

N

L E

Zoom in on microstructure

Shaders

Rough surfacesN

L E

Reflection depends on the microsurface

Page 2: Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias | wavefront Seattle, WA USA From microsurface models to reflection models Shaders Model reflection

2

Microsurface Models

Model surface as a two-dimensional (random) height field

x

yh(x,y)

Microsurface ModelsIsotropic Gaussian (smooth)

Microsurface ModelsIsotropic Gaussian (smooth)

Microsurface ModelsAnisotropic Gaussian (brushed metal)

Microsurface ModelsAnisotropic Gaussian (brushed metal)

Microsurface ModelsFractal

Page 3: Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias | wavefront Seattle, WA USA From microsurface models to reflection models Shaders Model reflection

3

Microsurface ModelsFractal

Microsurface ModelsPeriodic (compact disk)

Microsurface ModelsPeriodic (compact disk)

Our Approach

Use waves to model both

• the propagation of light

• the microsurface (Fourier Analysis)

Generalization of previous models

Wave Theory of Light

wavelength

400nm

700nm

Wave Theory of Light

Page 4: Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias | wavefront Seattle, WA USA From microsurface models to reflection models Shaders Model reflection

4

Wave Theory of Light Intensity of a Wave

Diffraction

Intensities don’t add up in general

Interaction: Light-Surface

L

E

Interaction: Light-Surface

L

E

Interaction: Light-Surface

L

E

Page 5: Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias | wavefront Seattle, WA USA From microsurface models to reflection models Shaders Model reflection

5

Interaction: Light-Surface

L

E

Interaction: Light-Surface

Source and observer “far away”

L

E

Interaction: Light-SurfaceAdd up contributions

Interaction: Light-SurfaceIntegral in the limit

Compute Path LengthDistance from source

Compute Path Length

Page 6: Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias | wavefront Seattle, WA USA From microsurface models to reflection models Shaders Model reflection

6

Compute Path Length Compute Path LengthDistance to the eye

Compute Path Length Compute Path Length

Compute Path LengthPutting the two together:

Compute Path LengthPutting the two together:

+

Page 7: Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias | wavefront Seattle, WA USA From microsurface models to reflection models Shaders Model reflection

7

Reflected WaveNow integrate over the surface:

Reflected Wave

Fourier Transform

Key insight

Fourier Transform

Key insight

Fourier TransformSimple relationship:

ExampleSmooth surface:

Page 8: Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias | wavefront Seattle, WA USA From microsurface models to reflection models Shaders Model reflection

8

ExampleAlmost smooth surface:

Two dimensionsPrevious derivation extends to 2D

Two dimensions Computing ShadersShader = computing Fourier transforms

I have done this for:

• Gaussian random surfaces• Fractal random surfaces• Periodic surfaces

Details in http://reality.sgi.com/jstam_sea/Research/ps/diff.ps.gz

Implementation

Implemented as MAYA plugin

Straightforward

Implementation

Assign frame to the surface

+ twist angle

Page 9: Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias | wavefront Seattle, WA USA From microsurface models to reflection models Shaders Model reflection

9

Brushed Metal Diffraction

Compact Disk

Used Physical Dimensions:

• bump height : 150 nm• bump width : 500 nm• separation between tracks : 2500 nm

Results

Animations Rendered in MAYA 2.0

Conclusion

Fourier transform very powerful toolMost general Illumination model in CG

He-Torrance special case

Experimental validation (?)

Page 10: Diffraction Shaders Shaders - University of Toronto · Diffraction Shaders Jos Stam Alias | wavefront Seattle, WA USA From microsurface models to reflection models Shaders Model reflection

10

Future Work

Wave Theory

Our Model

Multiple scattering, varying Fresnel coefficient, any distances, polarization,non-height field surfaces, subsurface scattering, etc.