Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by...

143
Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi Bouatouch IRISA, INRIA Rennes Jiří Žára Czech Technical University in Prague and

description

Jaroslav Křivánek – Radiance Caching 3/123 Summary of Contributions Main contribution Radiance caching algorithm [Křivánek et al. 2005a] More contributions Translational radiance gradient computation [Křivánek et al. 2005a], [Křivánek et al. 2005b] Fast spherical harmonics rotation [Křivánek et al. 2005c] Adaptive refinement for radiance caching [to be submitted] Solution of practical problems in radiance and irradiance caching [to be submitted]

Transcript of Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by...

Page 1: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Radiance Caching for Global Illumination Computation on Glossy Surfaces

A dissertation prepared by

Jaroslav Křivánekunder the joint supervision of

Kadi Bouatouch

IRISA, INRIA Rennes

Jiří Žára

Czech Technical University in Prague

and

Page 2: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching2/123

Presentation Topic Dissertation Title

Radiance Caching for Global Illumination Computation on Glossy Surfaces

GoalGlobal Illumination Computation

onGlossy Surfaces

MethodRadiance Caching

Page 3: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching3/123

Summary of Contributions Main contribution

Radiance caching algorithm [Křivánek et al. 2005a] More contributions

Translational radiance gradient computation [Křivánek et al. 2005a], [Křivánek et al. 2005b]

Fast spherical harmonics rotation [Křivánek et al. 2005c]

Adaptive refinement for radiance caching [to be submitted]

Solution of practical problems in radiance and irradiance caching [to be submitted]

Page 4: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching4/123

Goal Dissertation Title

Radiance Caching for Global Illumination Computation on Glossy Surfaces

GoalGlobal Illumination Computation

onGlossy Surfaces

MethodRadiance Caching

Page 5: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching5/123

Global Illumination?

Part of

Image synthesis, or rendering

Page 6: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching6/123

Rendering Create an image…

…of a scene.

Page 7: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching7/123

Different Approaches to Rendering Non-photorealistic rendering

Artistic styles Technical sketches Stress some information

Photo-realistic rendering Goal: images like reality Method: simulate the light

transport OUR TOPIC

Page 8: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching8/123

Photo-Realistic Rendering

How much light?

For each visible point p in the scene Compute the amount of light energy reflected

towards the camera

Page 9: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching9/123

Where Does the Light Come From? At p, the light comes from

Light sources (=direct) Reflected from scene surfaces (= indirect)

pp

Page 10: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching10/123

Global vs. Local Illumination Direct Illumination only

Light bounces ONCE on the way from source to camera

Global Illumination Global = Direct +

indirect Light transport between

scene surfaces Many bounces

Images © PDI/Dreamworks

Page 11: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching11/123

Global Illumination

Global = Direct + Indirect

Direct is (relatively) easy to compute

We focus on indirect

Page 12: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching12/123

Goal Dissertation Title

Radiance Caching for Global Illumination Computation on Glossy Surfaces

GoalIndirect Illumination Computation

onGlossy Surfaces

MethodRadiance Caching

Page 13: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching13/123

Goal Dissertation Title

Radiance Caching for Global Illumination Computation on Glossy Surfaces

GoalIndirect Illumination Computation

onGlossy Surfaces with Low-Frequency Reflectance

MethodRadiance Caching

Page 14: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching14/123

Surface Reflectance Described by the Bidirectional Reflectance

Distribution Function (BRDF)

BRDF at a point Function of two directions:

Incoming i Outgoing o

Ratio: outgoing radiance / incoming irradiance

Page 15: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching15/123

BRDF Types Diffuse (Lambertian)

View independent Specular

Mirror-like Glossy

Something “in between” Many different reflectance behaviors High frequency – sharp reflections Low frequency – blurry reflections We focus on low-frequency glossy BRDFs

Page 16: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching16/123

Various BRDFs Image courtesy Wojciech Matusik

Low-frequency

High-frequency

Image [Ngan2005]

Image [Ngan2005]

Page 17: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching17/123

Glossy Surfaces with Low-Frequency Reflectance Functions

Page 18: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching18/123

BRDF in Light Transport Light arrives at p Gets reflected (BRDF) Arrives at the camera

Reflection at p - BRDF

Page 19: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching19/123

Formal Description of Reflection Illumination integral

p

i

),( iiL p

iiioii

oo dBRDFLL cos),(),(),( pp

i

Page 20: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching20/123

Goal Goal

Indirect Illumination on Glossy Surfaces with Low-Frequency BRDFs

How Evaluate the illumination integral at each

visible point

But why? Is it important?

YES!

Page 21: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching21/123

Why Indirect Illumination on Glossy Surfaces?

With indirect Without indirect

Page 22: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching22/123

Why Indirect Illumination on Glossy Surfaces? Important for correct material perception

With indirect(looks like metal)

Without indirect(looks like plastic)

Page 23: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching23/123

Goal Dissertation Title

Radiance Caching for Global Illumination Computation on Glossy Surfaces

GoalIndirect Illumination Computation

onGlossy Surfaces with Low-Frequency BRDFs

MethodPrevious work

Radiance Caching

Page 24: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching24/123

Method Dissertation Title

Radiance Caching for Global Illumination Computation on Glossy Surfaces

GoalIndirect Illumination Computation

onGlossy Surfaces with Low-Frequency BRDFs

MethodPrevious work

Radiance Caching

Page 25: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching25/123

Previous Work – Radiosity Radiosity methods

Finite Elements Method applied to light transport Originally only for diffuse surface Extended to Glossy Surfaces, e.g., [Immel and

Hanrahan 1986], [Sillion et al. 1991], [Auperle et al. 1993]

Not practical for many reasons Problems with subdivision into elements High memory consumption Cannot produce high quality images by itself (need final

gathering)

Page 26: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching26/123

Previous Work – Monte Carlo Monte Carlo methods

e.g. [Cook et al. 1984], [Kajiya 1986], [Veach 1997]

Pros More general than radiosity Lower memory consumption

Cons Produce image noise Slow convergence rate

Page 27: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching27/123

Previous Work – Monte Carlo 40 samples per pixel

Image: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

Page 28: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching28/123

Previous Work – Monte Carlo 100 samples per pixel

Image: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

Page 29: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching29/123

Previous Work – Monte Carlo 300 samples per pixel

Image: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

Page 30: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching30/123

Previous Work – Monte Carlo 600 samples per pixel

Image: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

Page 31: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching31/123

Previous Work – Monte Carlo 1200 samples per pixel

Image: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

Page 32: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching32/123

Previous Work – Monte Carlo Variance Reduction: BRDF Importance sampling

Works very well for high-frequency BRDFs

Does not help much for low-frequency BRDFs

Radiance caching complements importance sampling

Page 33: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching33/123

Previous Work – Photon Mapping Photon map [Wann Jensen 2001]

crude representation of indirect illumination

Final gathering is needed

Radiance caching works for final gathering

Radiance caching complements photon mapping

Page 34: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching34/123

Previous Work – Interpolation If illumination changes slowly, one can

interpolate Techniques suitable for glossy surfaces

Radiosity methods are based on interpolation [Bala et al. 1999]

Only for deterministic ray tracing [Smyk et al. 2005]

Costly re-projection of radiance samples [Durand et al. 2005]

Image-based technique, does not produce good results yet

Page 35: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching35/123

Previous Work – Interpolation Irradiance caching [Ward et al. 88, Ward and

Heckbert 1992]

Basis for our algorithm

Diffuse term only

Radiance caching extends this algorithm for the use on glossy surfaces

Page 36: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching36/123

Method Dissertation Title

Radiance Caching for Global Illumination Computation on Glossy Surfaces

GoalIndirect Illumination Computation

onGlossy Surfaces with Low-Frequency BRDFs

MethodPrevious work

Radiance Caching

Page 37: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching37/123

Method Dissertation Title

Radiance Caching for Global Illumination Computation on Glossy Surfaces

GoalIndirect Illumination Computation

onGlossy Surfaces with Low-Frequency BRDFs

MethodPrevious work

Radiance Caching

Page 38: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching38/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 39: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching39/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 40: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching40/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 41: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching41/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 42: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching42/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 43: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching43/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 44: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching44/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 45: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching45/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 46: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching46/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 47: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching47/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 48: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching48/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 49: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching49/123

Motivation Indirect lighting on glossy surfaces with low-

frequency BRDFs is rather smooth

Page 50: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching50/123

Radiance Caching Scheme Sparse computation of indirect illumination Interpolation Enhanced with gradients

Page 51: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching51/123

Radiance Caching Scheme

SceneRadiance

Cache

p1

Radiance cache lookup

CacheMiss!

Samplehemisphere

Project onto (hemi)spherical

harmonics

p1

Store incache

Lo=∫ · BRDF(p1) · cos θ dωLo(p1)p2

Radiancecachelookup

Lo(p2)=∫ · BRDF(p2) · cos θ dωLo(P2)

Page 52: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching52/123

Radiance Caching Scheme

Page 53: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching53/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 54: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching54/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 55: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching55/123

Incoming Radiance Representation

= Li()

Directional distribution of incoming radiance at a point Function on the hemisphere

Requirements Allows rotation Fast evaluation of illumination integral Smooth (no aliasing) Compact

Page 56: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching56/123

Incoming Radiance Representation Spherical harmonics

Page 57: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching57/123

Incoming Radiance Representation Hemipherical harmonics [Gautron et al. 2004]

Page 58: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching58/123

Incoming Radiance Representation

represented by a vector of coefficients:

11

01

00

][

nn

ml

1

0

)()(n

l

lm

lm

ml

ml

i HL

Page 59: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching59/123

Incoming Radiance Representation Given L, how to find the coefficients?

Projection (of L onto the basis)

d)()(

ml

iml HL

Page 60: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching60/123

Incoming Radiance Representation Projection integral computed with Monte Carlo

quadrature Hemisphere

sampling

1

0

1

0,, )(2 M

j

N

kkj

ml

ikj

ml HL

NM

Sum over all cells

Incoming radiance from the sampled direction

Multiplied by thebasis function

Page 61: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching61/123

Incoming Radiance Representation Why the harmonics?

Efficient rotation !!!

Smooth representation

Low memory consumption

Easy to use

Page 62: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching62/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 63: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching63/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 64: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching64/123

Interpolation

How to interpolate a function? Interpolate coefficient vectors 1 and 2

p1

p2p

Page 65: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching65/123

Interpolation for each coefficient vector used in interpolation

do

1. Adjust by translational gradient

2. Rotate to align coordinate frame

3. Update the weighted average

Page 66: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching66/123

Interpolation Align coordinate frames in interpolation

p

p1

R

Page 67: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching67/123

Interpolation Weighted average

Weight wi(p) borrowed from [Ward88] Records used for interpolation:

a … user defined allowed approximation error

)()()()()(

21

''22

''11

intp ppppp

wwww

awi /1)( p

Page 68: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching68/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 69: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching69/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 70: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching70/123

Outgoing Radiance Computation Lo(p,o) is the final product Given by the Illumination Integral

i.e. Integrate x BRDF

is interpolated BRDF is known

iiioii

oo dBRDFLL cos),(),(),( pp

Page 71: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching71/123

Outgoing Radiance Computation

Incident Radiance BRDF

= coeff. dot product

BRDF represented by (hemi)spherical harmonics Orthonormal basis

( )

Page 72: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching72/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 73: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching73/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 74: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching74/123

Why Gradients?

Reality

p1 p

With radiance caching

p1 p

Li(p1) Li(p1) != Li(p)Wrong extrapolation

= Li(p)

Page 75: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching75/123

Wrong Extrapolation How does Li(p) change with p?

First approximation: Translational radiance gradient

Our contribution New radiance gradient computation methods

Page 76: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching76/123

Wrong Extrapolation

Page 77: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching77/123

Corrected with Gradients

Page 78: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching78/123

Gradient Computation Two new methods proposed

1. Solid angle-based [Krivanek et al. 2005a]

2. Stratification-based [Krivanek et al. 2005b] Better results (=smoother interpolation) Will be described in what follows

Page 79: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching79/123

Gradient Computation Coefficients – hemisphere sampling

Gradients – the same hemisphere sampling Something like

1

0

1

0,,, ),(2 M

j

N

kkjkj

ml

ikj

ml HL

NM

1

0

1

0, ......

M

j

N

k

ikj

ml L

Page 80: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching80/123

Previous Work – Polygonal Emitters

[Arvo 1994] Irradiance Jacobian due to partially occluded

polygonal emitters of constant radiosity

[Holzschuch and Sillion 1995] Polygonal emitters of arbitrary radiosity

Page 81: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching81/123

Previous Work – Hemisphere Sampling [Ward and Heckbert 1992] “Irradiance gradients”

Specifically for irradiance Cosine-proportional, uniformly weighted samples over

the hemisphere We extend this to uniformly distributed, arbitrarily

weighted samples [Annen et al. 2004]

Equivalent to our solid angle-based gradient Works mostly fine, except when there is occlusion in

the sampled environment Stratification-based grad. improves the quality of this

Page 82: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching82/123

Our Gradient Computation

1. Compute gradient from each hemisphere cell

2. Sum it all together

Page 83: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching83/123

Gradient Computation for One Cell

Page 84: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching84/123

Translation along L

pp’

Wall movement

Page 85: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching85/123

Gradient Computation for One Cell

Wall movement cell area changes

Cell area change solid angle changes

Solid angle change incoming radiance changes

Page 86: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching86/123

Gradient Computation – Putting it all Together Sum incoming radiance changes from all cells Use the basis functions H as a weighting factor

Basis functions do not change with displacement

Cell area changeIncoming radiance change

Weight by thebasis functionSum together

Page 87: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching87/123

Gradient Computation – Results

Solid-angle based grad. Stratification-based grad.

Page 88: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching88/123

Gradient Computation – Results

Stratification-based grad.Solid-angle based grad.

Page 89: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching89/123

Gradient Computation – Results

Solid-angle based grad.

Page 90: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching90/123

Gradient Computation – Results

Stratification-based grad.

Page 91: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching91/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 92: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching92/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 93: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching93/123

SH Rotation – Summary Novel, fast, approximate rotation Based on a truncated Taylor Expansion of the

SH rotation matrix 4-6 times faster than [Kautz et al. 2002] Accurate enough for the use in radiance caching Application in real-time shading

Page 94: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching94/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 95: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching95/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 96: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching96/123

Adaptive Radiance Caching If rate of change of illumination is high and not

enough records interpolation artifacts

Page 97: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching97/123

Adaptive Radiance Caching Adaptive caching prevents interpolation artifacts

Page 98: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching98/123

Adaptive Radiance Caching Current record density criterion

Borrowed from irradiance caching

Designed for diffuse indirect term

Based solely on the scene geometry

Might fail for glossy term

Page 99: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching99/123

Adaptive Radiance Caching Rate of change of illumination on glossy

surfaces depends on Actual illumination conditions BRDF sharpness Viewing direction

Record density criterion would be too complicated

We propose adaptive criterion Based on a simple perceptual metric

Page 100: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching100/123

Adaptive Radiance Caching Our approach

If discontinuity detected in the overlap area Decrease radius

p1 p2

p

If | L1(p) – L2(p) | > then decrease radius Based on the Weber law

Page 101: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching101/123

Adaptive Caching – Results Without adaptive caching – interpolation artifacts

Page 102: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching102/123

Adaptive Caching – Results With adaptive caching – smooth interpolation

Page 103: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching103/123

Adaptive Caching – Results

Page 104: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching104/123

Adaptive Caching – Results

Non-adaptive caching

Page 105: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching105/123

Adaptive Caching – Results

Adaptive caching

Page 106: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching106/123

Adaptive Caching – Results

Page 107: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching107/123

Adaptive Caching – Results Adaptation to BRDF sharpness

Page 108: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching108/123

Adaptive Caching – Results Adaptation to BRDF sharpness

Page 109: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching109/123

Adaptive Caching – Results Adaptation to BRDF sharpness

Page 110: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching110/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 111: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching111/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 112: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching112/123

Results

Direct vs. Indirect illumination video

Radiance caching vs. Monte Carlo video

Page 113: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching113/123

Results – Radiance Caching vs. Monte Carlo

Page 114: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching114/123

Results – Radiance Caching vs. Monte Carlo

Page 115: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching115/123

Results

Walt Disney Hall video

Page 116: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching116/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 117: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching117/123

Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 118: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching118/123

Conclusions Main contribution: Radiance Caching

Ray tracing based algorithm for computing indirect illumination on glossy surfaces with low-frequency BRDFs

Extends irradiance caching [Ward et al. 1988], [Ward and Heckbert 1992]

Allows interpolation on surfaces with view-dependent BRDF

Page 119: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching119/123

Conclusions …Radiance Caching

Compared to radiosity More general and robust lower memory consumption

Compared to pure Monte Carlo Faster Suppresses noise

Page 120: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching120/123

Conclusions More contributions

1. Two new methods for translational radiance gradient computation

2. Fast spherical harmonics rotation3. Adaptive refinement for radiance caching4. Solution of practical problems in radiance

and irradiance caching

Solve sub-problems of radiance caching 1. and 2. can be used for other purposes

Page 121: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching121/123

Future Work Much to do to arrive at images like this one…

Page 122: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching122/123

Future Work Adaptive hemisphere sampling Use of localized basis for incoming radiance

representation (e.g. wavelets) Sample only important part of the hemisphere

Use frequency analysis of light transport [Durand et al. 2005] to Design a better interpolation error criterion of

radiance caching Classify transport path and choose the most

suitable means for solving each class

Page 123: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching123/123

Thank You for your Attention

? ?

Page 124: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching124/123

Bibliography [Křivánek et al. 2005a] Jaroslav Křivánek, Pascal Gautron,

Sumanta Pattanaik, and Kadi Bouatouch. Radiance caching for efficient global illumination computation. IEEE Transactions on Visualization and Computer Graphics, 11(5), September/October 2005.

[Křivánek et al. 2005b] Jaroslav Křivánek, Pascal Gautron, Kadi Bouatouch, and Sumanta Pattanaik. Improved radiance gradient computation. In SCCG ’05: Proceedings of the 21th spring conference on Computer graphics. ACM Press, 2005.

[Křivánek et al. 2005c] Jaroslav Křivánek, Jaakko Konttinen, Sumanta Pattanaik, and Kadi Bouatouch. Fast approximation to spherical harmonic rotation. Technical Report 1728, IRISA, Rennes, France, July 2005.

[Gautron et al. 2004] Pascal Gautron, Jaroslav Křivánek, Kadi Bouatouch, and Sumanta N. Pattanaik. Radiance cache splatting: A GPU-friendly global illumination algorithm. In Rendering Techniques 2005, Eurographics Symposium on Rendering, June 2005.

Page 125: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching125/123

Bibliography [Immel et al. 1986] David S. Immel, Michael F. Cohen, and

Donald P. Greenberg. A radiosity method for non-diffuse environments. In SIGGRAPH ’86 Proceedings, pages 133–142, New York, NY, USA, 1986. ACM Press.

[Sillion et al. 1991] François Sillion, James R. Arvo, Spehne H. Westin, and Donald P. Greenberg. A global illumination solution for general reflectance distributions. In SIGGRAPH ’91 Proceedings, pages 187–196, New York, NY, USA, 1991. ACM Press.

[Auperle and Hanrahan 1993] Larry Aupperle and Pat Hanrahan. A hierarchical illumination algorithm for surfaces with glossy reflection. In SIGGRAPH ’93 Proceedings, pages 155–162, New York, NY, USA, 1993. ACM Press.

[Cook et al. 1984] Robert L. Cook, Thomas Porter, and Loren Carpenter. Distributed ray tracing. In SIGGRAPH ’84 Proceedings, pages 137–145, 1984.

Page 126: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching126/123

Bibliography [Kajiya 1986] James T. Kajiya. The rendering equation. In

SIGGRAPH ’86 Proceedings, pages 143–150, New York, NY, USA, 1986. ACM Press.

[Veach 1997] Eric Veach. Robust Monte Carlo Methods for Light Transport Simulation. PhD thesis, Stanford Universty, December 1997.

[Bala et al. 1999] Kavita Bala, Julie Dorsey, and Seth Teller. Radiance interpolants for accelerated bounded-error ray tracing. ACM Trans. Graph., 18(3):213–256, 1999.

[Smyk et al. 2005] Miłosław Smyk, Shin ichi Kinuwaki, Roman Durikovic, and Karol Myszkowski. Temporally coherent irradiance caching for high quality animation rendering. Computer Graphics Forum (Proceedings of EUROGRAPHICS ’05), 24(3), 2005.

Page 127: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching127/123

Bibliography [Durand et al. 2005] Frédo Durand, Nicolas Holzschuch, Cyril

Soler, Eric Chan, and François X. Sillion. A frequency analysis of light transport. ACM Trans. Graph. (Proceedings of SIGGRAPH 2005), 24(3):1115–1126, 2005.

[Ward et al. 1988] Gregory J. Ward, Francis M. Rubinstein, and Robert D. Clear. A ray tracing solution for diffuse interreflection. In SIGGRAPH ’88 Proceedings, pages 85–92, New York, NY, USA, 1988. ACM Press.

[Ward and Heckbert 1992] Gregory J. Ward and Paul S. Heckbert. Irradiance gradients. In Proceedings of the Third Eurographics Workshop on Rendering, pages 85–98, 1992.

[Arvo 1994] James Arvo. The irradiance Jacobian for partially occluded polyhedral sources. In SIGGRAPH ’94 Proceedings, pages 343–350, New York, NY, USA, 1994. ACM Press.

Page 128: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching128/123

Bibliography [Holzschuch and Sillion 1995] Nicolas Holzschuch and François

Sillion. Accurate computation of the radiosity gradient with constant and linear emitters. In Sixth Eurographics Workshop on Rendering, June 1995.

[Annen et al. 2004] Thomas Annen, Jan Kautz, Frédo Durand, and Hans-Peter Seidel. Spherical harmonic gradients for mid-range illumination. In Proceedings of the Eurographics Symposium on Rendering 2004, pages 331–336. Eurographics Association, 2004.

[Ivanic and Ruedenberg 1996] Joseph Ivanic and Klaus Ruedenberg. Rotation matrices for real spherical harmonics. direct determination by recursion. J. Phys. Chem., 100(15):6342–6347, 1996.Joseph Ivanic and Klaus Ruedenberg. Additions and corrections : Rotation matrices for real spherical harmonics. J. Phys. Chem. A, 102(45):9099–9100, 1998.

Page 129: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching129/123

Bibliography [Choi et al. 1999] Cheol Ho Choi, Joseph Ivanic, Mark S.

Gordon, and Klaus Ruedenberg. Rapid and stable determination of rotation matrices between spherical harmonics by direct recursion. J. Chem. Phys., 111(19):8825–8831, 1999.

[Kautz et al. 2002] Jan Kautz, Peter-Pike Sloan, and John Snyder. Fast, arbitrary BRDF shading for low-frequency lighting using spherical harmonics. In Proceedings of the 13th Eurographics workshop on Rendering, pages 291–296. Eurographics Association, 2002.

Page 130: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching130/123

Appendix – Fast Spherical Harmonics Rotation Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

Page 131: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching131/123

Why Rotation? Align coordinate frames in interpolation

p

p1

R

Page 132: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching132/123

SH Rotation – Problem Definition

Given a spherical function , represented

by coefficients ,

find coefficients , representing .

Page 133: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching133/123

SH Rotation Matrix SH invariant w.r.t. the rotation

Given a 3D rotation, find the matrix R

R

Page 134: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching134/123

SH Rotation – Previous Work Molecular Chemistry

[Ivanic and Ruedenberg 1996] [Choi et al. 1999]

Computer Graphics [Kautz et al. 2002]

O(n3) complexity Slow Bottleneck of interpolation

Page 135: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching135/123

SH Rotation – Our Contribution Fast, approximate rotation [Křivánek et al.

2005c]

Based on replacing the SH rotation matrix by its Taylor expansion

4-6 times faster than [Kautz et al. 2002]

Page 136: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching136/123

Rotation Procedure Decompose the 3D rotation into ZYZ Euler

angles: R = RZ() RY() RZ()

Rotation around Z is simple and fast

Rotation around Y still a problem

Page 137: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching137/123

Rotation Procedure – Taylor Expansion

)0(2

)0()( 2

22

dd

dd yy

y

RRIR

Page 138: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching138/123

Rotation Procedure – Taylor Expansion

)0(2

)0()( 2

22

dd

dd yy

y

RRIR

Page 139: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching139/123

Rotation Procedure – Taylor Expansion

)0(2

)0()( 2

22

dd

dd yy

y

RRIR

“1.5-th order Taylor expansion”

Very sparse matrix

Page 140: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching140/123

Rotation Procedure

1. Decompose the 3D rotation into ZYZ Euler angles: R = RZ() RY() RZ()

2. Rotate around Z by

3. Use the “1.5-th order” Taylor expansion to rotate around Y by

4. Rotate around Z by

Page 141: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching141/123

SH Rotation – Results L2 error for a

unit length input vector

Page 142: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching142/123

SH Rotation – Results

Page 143: Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Jaroslav Křivánek – Radiance Caching143/123

SH Rotation – Results