Download presentation

Presentation is loading. Please wait.

1
**A Mike Day Paper Exercise**

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

2
**An Efficient Representation for Irradiance Environment Maps**

What ? Describes a method of calculating Global Illumination using spherical harmonics

3
**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

4
**An Efficient Representation for Irradiance Environment Maps**

Traditional Lighting Taken from wikipedia: For each material in the scene, the following parameters are defined: “Ks” - which is a specular reflection constant, the ratio of reflection of the specular term of incoming light “Kd” - which is a diffuse reflection constant, the ratio of reflection of the diffuse term of incoming light (Lambertian reflectance), “Ka” - which is an ambient reflection constant, the ratio of reflection of the ambient term present in all points in the scene rendered “a ( alpha )” - which is a shininess constant for this material, which is larger for surfaces that are smoother and more mirror-like. When this constant is large the specular highlight is small. Furthermore, we have “Lights”, which is the set of all light sources, “Lm”, which is the direction vector from the point on the surface toward each light source ( specifies the light source), “N” , which is the normal at this point on the surface, “Rm”, which is the direction that a perfectly reflected ray of light would take from this point on the surface, “V”, which is the direction pointing towards the viewer (such as a virtual camera). - Wikipedia

5
**An Efficient Representation for Irradiance Environment Maps**

Lighting a scene Light doesn’t travel in a straight line, it bounces around losing energy with each bounce. Even corners that do not have direct access to light are lit. Calculating this is computationally expensive.

6
**An Efficient Representation for Irradiance Environment Maps**

What? A method of approximating light accumulation (Irradiance) at a point in space using spherical harmonics

7
**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

8
**An Efficient Representation for Irradiance Environment Maps**

What is irradiance? Irradiance is the accumulation of all lighting values on a half-sphere for 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.

9
**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 (θ, ϕ).

10
**An Efficient Representation for Irradiance Environment Maps**

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

11
**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

12
**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?

13
**An Efficient Representation for Irradiance Environment Maps**

So, let's apply Spherical Harmonics to L(ω)! Rewrite L(ω) in terms of (θ, ϕ)

14
**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(θ')]

15
**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:

16
**An Efficient Representation for Irradiance Environment Maps**

Replace the

17
**An Efficient Representation for Irradiance Environment Maps**

What does this mean? Values for drop off quickly l 1 2 3 4 5 6 7 8 Al 3.142 2.094 0.785 -0.131 0.049 -0.025

18
**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

19
**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.

20
**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

21
**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

22
**Application Artists place volumes**

Automatic sampling within volume produces many voxels

23
**Application Interpolate between voxels Irradiance evaluated as**

M is a 4x4 matrix based on coefficients

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google