23
A Mike Day Paper Exercise An Efficient Representation for Irradiance Environment Maps Ravi Ramamoorthi and Pat Hanrahan 2001

An Efficient Representation for Irradiance Environment Maps Ravi Ramamoorthi and Pat Hanrahan 2001

Embed Size (px)

Citation preview

A Mike Day Paper Exercise

An Efficient Representation for Irradiance Environment MapsRavi Ramamoorthi and Pat Hanrahan2001

An Efficient Representation for Irradiance Environment Maps

What ? Describes a method of calculating Global

Illumination using spherical harmonics

An Efficient Representation for Irradiance Environment Maps

When calculating Global Illumination, high-frequency lighting gets blurred. This implies that we might be able to

ignore higher-order spherical harmonics terms.

The radiance map

The irradiance map

An Efficient Representation for Irradiance Environment Maps

Traditional Lighting

- Wikipedia

An Efficient Representation for Irradiance Environment Maps

Lighting a scene

An Efficient Representation for Irradiance Environment Maps

What? A method of approximating light

accumulation (Irradiance) at a point in space using spherical harmonics

What?

An Efficient Representation for Irradiance Environment Maps

Spherical harmonics A method of approximating a function

over a domain Similar to Fourier transform

Approximating a square wave

An Efficient Representation for Irradiance Environment Maps

What is irradiance? Irradiance is the accumulation of

all lighting values on a half-spherefor a point (given its normal).

It is a function of the normal (n). The integral over ω removes the

dependence on ω.

The integral represents the accumulation of all the light values.

dLE )()()()(

nnn

An Efficient Representation for Irradiance Environment Maps

How can we calculate E(n)? Spherical Harmonics! Like a Fourier Transform, Spherical

Harmonics translates one function into a sum of basis functions multiplied by coefficients.

The basis functions are defined using polar coordinates (θ, ϕ).

An Efficient Representation for Irradiance Environment Maps

So, let's apply Spherical Harmonics to E(n)!

dLE )()()()(

nnn

An Efficient Representation for Irradiance Environment Maps

So, let's apply Spherical Harmonics to E(n)!

Rewrite E(n) in terms of (θ, ϕ)▪ E(n) is in Cartesian coordinates▪ E(θ, ϕ) is E(n) converted to polar coordinates

dLE )()(),()(

nn

An Efficient Representation for Irradiance Environment Maps

So, let's apply Spherical Harmonics to E(n)!

Spherical harmonics lets us replace the function E(θ, ϕ) with a summation over l and m.▪ Ylm(θ, ϕ): The spherical harmonics basis

function▪ Elm: A coefficient for Ylm(θ, ϕ)

How many basis functions?

dLYEml

lmlm )()(),()(

,

n

n

An Efficient Representation for Irradiance Environment Maps

So, let's apply Spherical Harmonics to L(ω)!

Rewrite L(ω) in terms of (θ, ϕ)

dLYEml

lmlm )(),(),()(

,

n

n

An Efficient Representation for Irradiance Environment Maps

So, let's apply Spherical Harmonics to L(ω)!

Replace (n ∙ ω) with the cosine▪ Remember: a ∙ b = |a| |b| cos(θ)▪ Note that n and ω are unit vectors so their

lengths are 1▪ Let A(θ') = max[0, cos(θ')]

dALYEml

lmlm )'(),(),()(

,

n

An Efficient Representation for Irradiance Environment Maps

Simplify the equation! The derivation of the integrals is quite

difficult. This is the result of the paper:

llmlm ALE ˆ

)1,(0

)1(3

2

)()!(2

!

)1)(2(

)1(2

ˆ

22

12

loddl

l

evenll

ll

A

ll

l

l

An Efficient Representation for Irradiance Environment Maps

Replace the

22

12

)!(2

!

)1)(2(

)1(20

3

2

,11

ll

l

lmlmlmlmlm

l

llLEELE

evenloddll

lA

An Efficient Representation for Irradiance Environment Maps

What does this mean?

Values for drop off quickly

22

12

)!(2

!

)1)(2(

)1(20

3

2

,11

ll

l

lmlmlmlmlm

l

llLEELE

evenloddll

l 0 1 2 3 4 5 6 7 8

Al 3.142 2.094 0.785 0 -0.131 0 0.049 0 -0.025

lA

An Efficient Representation for Irradiance Environment Maps

What is ? Everything after the 3rd band of spherical

harmonics contribute little You get a good approximation by using

only 9 coefficients▪ l = [0, 1, 2] -l ≤ m ≤ l▪ (0, 0), (1, -1), (1, 0), (1, 1), (2, -2), (2, -1), (2, 0), (2, 1), (2, 2)

▪ Technically we get l = 3 as well, since the coefficient is 0

lA

An Efficient Representation for Irradiance Environment Maps

What is ? The lighting environments they use for

their test cases have an average error of around 1% and a maximum error of around 5%.

Their test environments look to be fairly representative, so the margin for error for our environments should be similar.

lA

Application

Bounced light calculation is expensive

Light maps only work for static objects

Sampling from voxels would work for dynamic objects, but needs lots of voxels

Application

9 coefficients for each channel

Spherical harmonic coefficients can be calculated from environment maps

Irradiance is low frequency so maps do not need to be especially high res

Application

Artists place volumes Automatic sampling within volume

produces many voxels

Application

Interpolate between voxels Irradiance evaluated as

M is a 4x4 matrix based on coefficients

MnnnE t)(