350 likes | 361 Views
This paper discusses an improved radiance gradient computation method for accurately calculating indirect lighting on glossy surfaces, solving the problem of slow convergence rate using brute force Monte Carlo methods. The paper introduces radiance caching and the use of gradients to improve the computation process, resulting in smoother and more accurate results.
E N D
Computer Graphics Group Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik
Indirect lighting on glossy surfaces With indirect Without indirect Improved Radiance Gradient Computation
Indirect lighting on glossy surfaces With indirect Without indirect Improved Radiance Gradient Computation
Problem to solve • Illumination integral evaluation at each visible point Improved Radiance Gradient Computation
Brute Force Approach • Monte Carlo gathering • For each visible point • Slow convergence rate Cast hundreds of rays Improved Radiance Gradient Computation
Slow Monte Carlo Convergence - Example • 40 samples per pixel Acknowledgement: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/ Improved Radiance Gradient Computation
Slow Monte Carlo Convergence - Example • 100 samples per pixel Acknowledgement: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/ Improved Radiance Gradient Computation
Slow Monte Carlo Convergence - Example • 300 samples per pixel Acknowledgement: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/ Improved Radiance Gradient Computation
Slow Monte Carlo Convergence - Example • 600 samples per pixel Acknowledgement: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/ Improved Radiance Gradient Computation
Slow Monte Carlo Convergence – Example • 1200 samples per pixel Acknowledgement: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/ Improved Radiance Gradient Computation
Observation • Indirect lighting on rough glossy surfaces is rather smooth: abrupt changes are rare Improved Radiance Gradient Computation
Radiance Caching Approach • Sparse sampling of indirect illumination • Interpolation • Based on gradients Improved Radiance Gradient Computation
Radiance cache lookup Radiance cache lookup Cache Miss! P1 P2 Radiance Caching Radiance Cache Scene Store in cache P1 Sample hemisphere Project to hemispherical harmonics Lo=∫x BRDF(P1) x cos θdω Lo(P2)=∫ x BRDF(P2) x cos θdω Lo(P1) Lo(P2) Improved Radiance Gradient Computation
P1 P2 P1 P2 Problem Reality With radiance caching Wrong extrapolation Li(P1) !=Li(P2) Li(P1) =Li(P2) Improved Radiance Gradient Computation
Wrong Extrapolation • How does Li(P)change with P? ( Li(P) = incoming radiance at P ) • First approximation = RADIANCE GRADIENT • Our contribution • New radiance gradient computation Improved Radiance Gradient Computation
Wrong Extrapolation Improved Radiance Gradient Computation
Corrected with the New Gradients Improved Radiance Gradient Computation
Radiance Gradients: Problem Definition – Prerequisites • Incoming radiance Li(P) representation • Li(P) is defined over a hemisphere • Represented using hemispherical harmonics • Li(P) represented by a set of coefficients Basis functions Coefficients Improved Radiance Gradient Computation
Radiance Gradients: Problem Definition – Prerequisites • Coefficients computed with Monte Carlo quadrature • Uniform hemisphere sampling • Stratification Sum over all strata Multiplied by thebasis function Incoming radiance from the sampled direction Improved Radiance Gradient Computation
Radiance Gradients: Problem Definition • Coefficients – hemisphere sampling • Gradients from the same hemisphere sampling • Something like Improved Radiance Gradient Computation
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 Improved Radiance Gradient Computation
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 • Křivánek et al. 2005, Annen 2004 • Radiance gradient • Works mostly fine, except when there is occlusion in the sampled environment • We improve quality of this Improved Radiance Gradient Computation
Gradient Computation • Compute contribution from each hemisphere cell • Sum it all together Improved Radiance Gradient Computation
Gradient Computation for One Cell Improved Radiance Gradient Computation
Gradient Computation for One Cell Improved Radiance Gradient Computation
Gradient Computation for One Cell • Wall movement => cell area changes • Cell area change => solid angle changes • Solid angle change => incoming radiance changes Improved Radiance Gradient Computation
Cell area change Weighting by the basis function Incoming radiance change 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 Improved Radiance Gradient Computation
Results Old gradients Improved Radiance Gradient Computation New gradients - smooth
Results Old gradients Improved Radiance Gradient Computation New gradients
Results Old gradients Improved Radiance Gradient Computation
Results New gradients Improved Radiance Gradient Computation
P Gradients for GPU-based irradiance and radiance caching • Hemisphere sampling = GPU rasterization • Camera position = hemisphere center • Very non-uniform density of samples over the hemisphere • The same gradient derivation still holds (and WORKS!). Improved Radiance Gradient Computation
Gradients for GPU-based irradiance and radiance caching • Irradiance caching video • Offline irradiance caching video • Radiance caching video – castle, walt disney hall Improved Radiance Gradient Computation
Conclusion • New translational gradient computation • Use information from hemisphere sampling • Based on the Irradiance Gradients by Ward and Heckbert • Generalized to support • Arbitrary distribution of radiance samples over the hemisphere • Arbitrary weighting of radiance samples Improved Radiance Gradient Computation
Thank you ? ? Improved Radiance Gradient Computation