580 likes | 977 Views
Precomputed Radiance Transfer. Peter-Pike Sloan SDE Windows Graphics & Gaming Technologies Microsoft Corporation. Challenges in Rendering. Generating realistic images interactively is hard Many dimensions of complexity Geometric complexity Material complexity Meso-scale complexity
E N D
Precomputed Radiance Transfer Peter-Pike Sloan SDE Windows Graphics & Gaming Technologies Microsoft Corporation
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 • Assume the “structure” of the material is below the visible scale • Simple variation • Twist maps
Meso-Scale Complexity • Variations at a visible scale - not geometry • Bump/Roughness maps • Parallax Mapping/BTFs extreme examples of this
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)? • 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
Rendering Equation Radiance leaving pointpin directiond
Rendering Equation Radiance emitted from pointpin directiond
Rendering Equation Integral over directionsson the hemisphere aroundp
Rendering Equation BRDF at pointpevaluated for incident directionsin outgoing directiond
Rendering Equation Radiance arriving at pointpfrom directions (also LHS)
Rendering Equation Lamberts law – cosine between normal and -s=dot(Np, -s)
Neumann Expansion Exit radiance expressed as infinite series
Neumann Expansion Direct lighting arriving at point p – from distant environment
Neumann Expansion Direct lighting arriving at point p – from distant environment
Neumann Expansion Source Radiance – distant lighting environment
Neumann Expansion Visibility function - binary
Neumann Expansion All paths from source that take 1 bounce
Neumann Expansion L0 All paths from source that take 1 bounce
Neumann Expansion Li-1 All paths from source that take i bounces
Project Light light light • = = • = • Diffuse Self-Transfer 2D example, piecewise constant basis, shadows only Preprocess Rendering
. . . . . . Precomputation Basis 16 Basis 17 illuminate result Basis 18
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
Spherical Harmonics n=2 n=3 n=5 n=26 original
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
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…