Improved Radiance Gradient Computation Jaroslav Kivnek Pascal Gautron

  • Slides: 35
Download presentation
Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik Computer Graphics

Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik Computer Graphics Group Improved Radiance Gradient Computation

Indirect lighting on glossy surfaces With indirect 2 Without indirect Improved Radiance Gradient Computation

Indirect lighting on glossy surfaces With indirect 2 Without indirect Improved Radiance Gradient Computation

Indirect lighting on glossy surfaces With indirect 3 Without indirect Improved Radiance Gradient Computation

Indirect lighting on glossy surfaces With indirect 3 Without indirect Improved Radiance Gradient Computation

Problem to solve n 4 Illumination integral evaluation at each visible point Improved Radiance

Problem to solve n 4 Illumination integral evaluation at each visible point Improved Radiance Gradient Computation

Brute Force Approach n n Monte Carlo gathering For each visible point Cast hundreds

Brute Force Approach n n Monte Carlo gathering For each visible point Cast hundreds of rays n 5 Slow convergence rate Improved Radiance Gradient Computation

Slow Monte Carlo Convergence Example n 40 samples per pixel Acknowledgement: Jason Lawrence, http:

Slow Monte Carlo Convergence Example n 40 samples per pixel Acknowledgement: Jason Lawrence, http: //www. cs. princeton. edu/gfx/proj/brdf/ 6 Improved Radiance Gradient Computation

Slow Monte Carlo Convergence Example n 100 samples per pixel Acknowledgement: Jason Lawrence, http:

Slow Monte Carlo Convergence Example n 100 samples per pixel Acknowledgement: Jason Lawrence, http: //www. cs. princeton. edu/gfx/proj/brdf/ 7 Improved Radiance Gradient Computation

Slow Monte Carlo Convergence Example n 300 samples per pixel Acknowledgement: Jason Lawrence, http:

Slow Monte Carlo Convergence Example n 300 samples per pixel Acknowledgement: Jason Lawrence, http: //www. cs. princeton. edu/gfx/proj/brdf/ 8 Improved Radiance Gradient Computation

Slow Monte Carlo Convergence Example n 600 samples per pixel Acknowledgement: Jason Lawrence, http:

Slow Monte Carlo Convergence Example n 600 samples per pixel Acknowledgement: Jason Lawrence, http: //www. cs. princeton. edu/gfx/proj/brdf/ 9 Improved Radiance Gradient Computation

Slow Monte Carlo Convergence – Example n 1200 samples per pixel Acknowledgement: Jason Lawrence,

Slow Monte Carlo Convergence – Example n 1200 samples per pixel Acknowledgement: Jason Lawrence, http: //www. cs. princeton. edu/gfx/proj/brdf/ 10 Improved Radiance Gradient Computation

Observation n 11 Indirect lighting on rough glossy surfaces is rather smooth: abrupt changes

Observation n 11 Indirect lighting on rough glossy surfaces is rather smooth: abrupt changes are rare Improved Radiance Gradient Computation

Radiance Caching Approach n n 12 Sparse sampling of indirect illumination Interpolation n Based

Radiance Caching Approach n n 12 Sparse sampling of indirect illumination Interpolation n Based on gradients Improved Radiance Gradient Computation

Radiance Caching Radiance Cache Scene Radiance cache lookup P 1 Store in cache Cache

Radiance Caching Radiance Cache Scene Radiance cache lookup P 1 Store in cache Cache Miss! Sample hemisphere ∫ Loo(P = 1) 13 Project to hemispherical Lo(P 2))=xharmonics BRDF(P 1 x) BRDF(P x cos θ dω 2) x ∫ P 1 P 2 cos θ dω Improved Radiance Gradient Computation

Problem Reality With radiance caching Wrong extrapolation Li(P 1) != Li(P 2) P 1

Problem Reality With radiance caching Wrong extrapolation Li(P 1) != Li(P 2) P 1 14 P 2 Li(P 1) = Li(P 2) P 1 P 2 Improved Radiance Gradient Computation

Wrong Extrapolation n How does Li(P) change with P? ( Li(P) = incoming radiance

Wrong Extrapolation n How does Li(P) change with P? ( Li(P) = incoming radiance at P ) n First approximation = RADIANCE GRADIENT n Our contribution n New radiance gradient computation 15 Improved Radiance Gradient Computation

Wrong Extrapolation 16 Improved Radiance Gradient Computation

Wrong Extrapolation 16 Improved Radiance Gradient Computation

Corrected with the New Gradients 17 Improved Radiance Gradient Computation

Corrected with the New Gradients 17 Improved Radiance Gradient Computation

Radiance Gradients: Problem Definition – Prerequisites n Incoming radiance Li(P) representation n Li(P) is

Radiance Gradients: Problem Definition – Prerequisites n Incoming radiance Li(P) representation n Li(P) is defined over a hemisphere n Represented using hemispherical harmonics Basis functions Coefficients n 18 Li(P) represented by a set of coefficients Improved Radiance Gradient Computation

Radiance Gradients: Problem Definition – Prerequisites n Coefficients computed with Monte Carlo quadrature n

Radiance Gradients: Problem Definition – Prerequisites n Coefficients computed with Monte Carlo quadrature n Uniform hemisphere sampling n Stratification Sum over all strata Multiplied by the basis function 19 Incoming radiance from the sampled direction Improved Radiance Gradient Computation

Radiance Gradients: Problem Definition n Coefficients – hemisphere sampling n Gradients from the same

Radiance Gradients: Problem Definition n Coefficients – hemisphere sampling n Gradients from the same hemisphere sampling n Something like 20 Improved Radiance Gradient Computation

Previous Work - Polygonal emitters n n 21 Arvo 1994 n Irradiance Jacobian due

Previous Work - Polygonal emitters n n 21 Arvo 1994 n Irradiance Jacobian due to partially occluded polygonal emitters of constant radiosity Holzschuch and Sillion 1995 n Polygonal emitters of arbitrary radiosity Improved Radiance Gradient Computation

Previous Work - Hemisphere sampling n n 22 Ward and Heckbert 1992 “Irradiance gradients”

Previous Work - Hemisphere sampling n n 22 Ward and Heckbert 1992 “Irradiance gradients” n Specifically for irradiance n Cosine-proportional, uniformly weighted samples over the hemisphere n We extend this to uniformly distributed, arbitrarily weighted samples Křivánek et al. 2005, Annen 2004 n Radiance gradient n Works mostly fine, except when there is occlusion in the sampled environment n We improve quality of this Improved Radiance Gradient Computation

Gradient Computation 1. 23 Compute contribution from each hemisphere cell Sum it all together

Gradient Computation 1. 23 Compute contribution from each hemisphere cell Sum it all together Improved Radiance Gradient Computation

Gradient Computation for One Cell 24 Improved Radiance Gradient Computation

Gradient Computation for One Cell 24 Improved Radiance Gradient Computation

Gradient Computation for One Cell 25 Improved Radiance Gradient Computation

Gradient Computation for One Cell 25 Improved Radiance Gradient Computation

Gradient Computation for One Cell n Wall movement => cell area changes n Cell

Gradient Computation for One Cell n Wall movement => cell area changes n Cell area change => solid angle changes n Solid angle change => incoming radiance changes 26 Improved Radiance Gradient Computation

Putting it all together n n Sum incoming radiance changes from all cells Use

Putting it all together n n Sum incoming radiance changes from all cells Use the basis functions H as a weighting factor n Basis functions do not change with displacement Cell area change Incoming radiance change 27 Weighting by the basis function Improved Radiance Gradient Computation

Results 28 Old gradients New Radiance gradients - smooth Improved Gradient Computation

Results 28 Old gradients New Radiance gradients - smooth Improved Gradient Computation

Results 29 Old gradients Improved. New Radiance Gradient Computation

Results 29 Old gradients Improved. New Radiance Gradient Computation

Results Old gradients 30 Improved Radiance Gradient Computation

Results Old gradients 30 Improved Radiance Gradient Computation

Results New gradients 31 Improved Radiance Gradient Computation

Results New gradients 31 Improved Radiance Gradient Computation

Gradients for GPU-based irradiance and radiance caching n n Hemisphere sampling = GPU rasterization

Gradients for GPU-based irradiance and radiance caching n n Hemisphere sampling = GPU rasterization Camera position = hemisphere center P n n 32 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 n n n 33 Irradiance caching video

Gradients for GPU-based irradiance and radiance caching n n n 33 Irradiance caching video Offline irradiance caching video Radiance caching video – castle, walt disney hall Improved Radiance Gradient Computation

Conclusion n n 34 New translational gradient computation Use information from hemisphere sampling Based

Conclusion n n 34 New translational gradient computation Use information from hemisphere sampling Based on the Irradiance Gradients by Ward and Heckbert Generalized to support n Arbitrary distribution of radiance samples over the hemisphere n Arbitrary weighting of radiance samples Improved Radiance Gradient Computation

Thank you ? 35 ? Improved Radiance Gradient Computation

Thank you ? 35 ? Improved Radiance Gradient Computation