240 likes | 352 Views
An Efficient Representation for Irradiance Environment Maps Ravi Ramamoorthi and Pat Hanrahan 2001. A Mike Day Paper Exercise. An Efficient Representation for Irradiance Environment Maps. What ? Describes a method of calculating Global Illumination using spherical harmonics.
E N D
An Efficient Representation for Irradiance Environment Maps Ravi Ramamoorthi and Pat Hanrahan 2001 A Mike Day Paper Exercise
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 ofall lighting values on a half-spherefor a point (given its normal). • It is a function of the normal (n). • The integral over ω removes thedependence on ω. • The integral represents the accumulation of all the light values.
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)!
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
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?
An Efficient Representation for Irradiance Environment Maps • So, let's apply Spherical Harmonics to L(ω)! • Rewrite L(ω) in terms of (θ,ϕ)
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(θ')]
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:
An Efficient Representation for Irradiance Environment Maps • Replace the
An Efficient Representation for Irradiance Environment Maps • What does this mean? • Values for drop off quickly
An Efficient Representation for Irradiance Environment Maps • What is ? • Everything after the 3rdband 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
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.
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