Precomputed Radiance Transfer 3/27/2017 10:02 PM Precomputed Radiance Transfer Peter-Pike Sloan SDE Windows Graphics & Gaming Technologies Microsoft Corporation © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Challenges in Rendering Generating realistic images interactively is hard Many dimensions of complexity Geometric complexity Material complexity Meso-scale complexity Lighting complexity Transport complexity Synergy This talk focuses on techniques that enable more lighting/transport complexity
Material Complexity Models how light interacts with a surface 3/27/2017 10:02 PM Material Complexity Models how light interacts with a surface Assume the “structure” of the material is below the visible scale Simple variation Twist maps © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Meso-Scale Complexity 3/27/2017 10:02 PM Meso-Scale Complexity Variations at a visible scale - not geometry Bump/Roughness maps Parallax Mapping/BTFs extreme examples of this © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Lighting Complexity What kind of lighting environment is an object in? Directional/point lights Directional + ambient “Smooth” (low frequency) lighting Completely general
Lighting Complexity What kind of lighting environment is an object in? Directional/point lights Directional + ambient “Smooth” (low frequency) lighting Completely general
Lighting Complexity What kind of lighting environment is an object in? Directional/point lights Directional + ambient “Smooth” (low frequency) lighting Completely general
Lighting Complexity What kind of lighting environment is an object in? Directional/point lights Directional + ambient “Smooth” (low frequency) lighting Completely general
Transport Complexity How light interacts with objects/scene at a visible scale Shadows Inter-reflections Caustics Translucency (subsurface scattering)
Transport Complexity How light interacts with objects/scene at a visible scale Shadows Inter-reflections Caustics Translucency (subsurface scattering)
Transport Complexity How light interacts with objects/scene at a visible scale Shadows Inter-reflections Caustics Translucency (subsurface scattering)
Transport Complexity How light interacts with objects/scene at a visible scale Shadows Inter-reflections Caustics Translucency (subsurface scattering)
Some of All of This Real scenes have all of these forms of complexity Extreme realism in one form of complexity is not necessarily that interesting Incredible material models that are completely homogenous and lit by a single directional light Great lighting environments for diffuse surfaces with no shadows
What is Precomputed Radiance Transfer (PRT)? 3/27/2017 10:02 PM What is Precomputed Radiance Transfer (PRT)? Parameterize an object’s response to lighting, expressed in some basis Partition into two processes Offline transport simulator precomputes spatially varying linear operators that map lighting in given basis to exit radiance Run time render the object using the current viewing/lighting environment using precomputed data © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM PRT Teaser Demo © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Terminology © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Terminology © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Terminology © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Terminology © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Rendering Equation 3/27/2017 10:02 PM © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Rendering Equation Radiance leaving point p in direction d 3/27/2017 10:02 PM Rendering Equation Radiance leaving point p in direction d © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Rendering Equation Radiance emitted from point p in direction d 3/27/2017 10:02 PM Rendering Equation Radiance emitted from point p in direction d © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Rendering Equation Integral over directions s on the hemisphere around p © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Rendering Equation BRDF at point p evaluated for incident direction s in outgoing direction d © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Rendering Equation Radiance arriving at point p from direction s (also LHS) © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Rendering Equation Lamberts law – cosine between normal and -s = dot(Np, -s) © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Neumann Expansion Exit radiance expressed as infinite series 3/27/2017 10:02 PM Neumann Expansion Exit radiance expressed as infinite series © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Neumann Expansion Direct lighting arriving at point p – from distant environment © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Neumann Expansion Direct lighting arriving at point p – from distant environment © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Neumann Expansion Source Radiance – distant lighting environment 3/27/2017 10:02 PM Neumann Expansion Source Radiance – distant lighting environment © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Neumann Expansion Visibility function - binary 3/27/2017 10:02 PM © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Neumann Expansion All paths from source that take 1 bounce 3/27/2017 10:02 PM Neumann Expansion All paths from source that take 1 bounce © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Neumann Expansion All paths from source that take 1 bounce L0 3/27/2017 10:02 PM Neumann Expansion L0 All paths from source that take 1 bounce © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Neumann Expansion All paths from source that take i bounces Li-1 3/27/2017 10:02 PM Neumann Expansion Li-1 All paths from source that take i bounces © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Diffuse PRT © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Diffuse PRT © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Diffuse PRT © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Diffuse PRT © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Diffuse PRT © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Diffuse PRT © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Diffuse PRT © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM Diffuse PRT © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Diffuse Self-Transfer 3/27/2017 10:02 PM Diffuse Self-Transfer 2D example, piecewise constant basis, shadows only Preprocess Project Light light Rendering • = = • light = • © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Precomputation . Basis 16 Basis 17 Basis 18 illuminate result 3/27/2017 10:02 PM Precomputation . Basis 16 Basis 17 illuminate result Basis 18 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Spherical Harmonics Spherical analog to Fourier transform 3/27/2017 10:02 PM Spherical Harmonics Spherical analog to Fourier transform Represents complex functions on the sphere, real form used in graphics Polynomials in R3 Full basis through O has O2 coeffs Projection/Evaluation/Rotation are fairly straightforward Small number of bands implies “low frequency” lighting © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Spherical Harmonics 3/27/2017 10:02 PM © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Spherical Harmonics n=2 n=3 n=5 n=26 original 3/27/2017 10:02 PM © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Spherical Harmonics Rotation invariance 3/27/2017 10:02 PM Spherical Harmonics Rotation invariance No temporal “wobbling” of projection Low frequency is also strength Reduces necessary surface sampling rate Addresses lighting that is most difficult with traditional techniques Global support is a limitation © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3/27/2017 10:02 PM PRT Demo © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
PRT Limitations/Extensions Rigid objects “Local, Deformable Precomputed Radiance Transfer”, Siggraph 2005 Raw form unwieldy 6th order would require 108 coefficients/vertex Siggraph 2003 paper compresses both data and computation, small number (4-12) coefficiens/vertex, much simpler shaders This is what makes it work in games…
PRT Limitations/Extensions Glossy surfaces Still to heavyweight for games, EGSR 2004 papers most applicable (separable BRDF approximations) “All Frequency”, using other light basis functions Ng et al Siggraph 2003, two EGSR 2004 papers Dramatically increases storage location per point, and spatial sampling rates over surfaces
PRT in the SDK Precomputation for diffuse objects only Includes inter-reflections and subsurface scattering Glossy isn’t practical for games Compression Siggraph 2003 paper, what made it actually doable in a game Run time code for efficient evaluation of lighting models, projection and rotation
Conclusions Precomputed Radiance Transfer enables interactive rendering of complex global illumination effects Appropriate for low frequency lights, can be mixed with traditional techniques to model high frequency lighting
Acknowledgments Coauthors John Snyder, Jan Kautz, Ben Luna, John Hart, Jesse Hall Samples/Artwork/Slides Jason Sandlin, John Steed, Shanon Drone Light Probes Paul Debevec
DirectX Community Resources http://msdn.com/directx “Windows Game Development” MSDN Forums http://forums.microsoft.com/msdn/default.aspx Forums: General, Graphics, Tools, Performance, and Audio Fully Moderated Discussions Notification Alerts, Messages and RSS Feeds Integrated with Visual Studio 2005 Advanced Search FAQs Answered/Unanswered Questions directx@microsoft.com
References “Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequency Lighting Environments”, Sloan, Kautz and Snyder Siggraph 2002 “Clustered Principal Components for Precomputed Radiance Transfer”, Sloan, Hall, Hart and Snyder Siggraph 2003 “All-Frequency Shadows Using Non-linear Wavelet Lighting Approximation”, Ng, Ramamoorthi and Hanranan Siggraph 2003 “All-Frequency Precomputed Radiance Transfer for Glossy Objects”, Liu, Sloan, Shum and Snyder, Eurographics Symposium on Rendering 2004 “All-Frequency Relighting of Non-Diffuse Objects using Separable BRDF Approximation”, Wang, Tran and Luebke, Eurographics Symposium on Rendering 2004 “Local, Deformable Precomputed Radiance Transfer”, Sloan, Luna and Snyder Siggraph 2005 http://research.microsoft.com/~ppsloan
© 2005 Microsoft Corporation. All rights reserved. 3/27/2017 10:02 PM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.