Title: Precomputed Radiance Transfer for RealTime Rendering in Dynamic, LowFrequency Lighting Environments
1Precomputed Radiance Transfer for Real-Time
Rendering in Dynamic, Low-Frequency Lighting
Environments
- Peter-Pike Sloan, Microsoft Research
- Jan Kautz, MPI Informatik
- John Snyder, Microsoft Research
2Previous Work Where We Fit
Lighting
Crow77 Williams78 Stamminger02
Heidrich00 Malzbender01 Tong02
Blinn76 Miller84 Latta02 Ramamoorthi02
Ashikhmin02
Moeller02
Frozen Lighting Irradiance VolumesGreger96 Surf
ace LightfieldsMiller98,Wood00Chen02
Blinn76
full env.map
Moeller02
Ashikhmin02
singlearealight
Non-Interactive Matusik02
Crow77
pointlights
TransportComplexity
Heidrich00
simple
3Motivation
- Better light integration and transport
- dynamic, area lights
- self-shadowing
- interreflections
- For diffuse and glossy surfaces
- At real-time rates
point light
area light
area lighting, no shadows
area lighting, shadows
4Basic Idea
Preprocess for all i
5Diffuse Self-Transfer
- 2D example, piecewise constant basis, shadows only
Preprocess
Rendering
6Precomputation
Basis 16
Basis 17
illuminate
result
Basis 18
7Previous Work Scene Relighting
- Dorsey91 opera lighting design
- adjusts intensity of fixed light sources
- Nimeroff94 natural environments
- uses steerable functions for general skylight
illumination - Teo97 efficient linear re-rendering
- generalizes to non-infinite sources, PCA to
reduce basis - Debevec00 reflectance field of a face
- uses directional light basis for relighting faces
- Dobashi95 lighting design
- uses SH basis for point light intensity
distribution
8Basis Functions
l0 m0
- We use Spherical Harmonics
- SH have nice properties
- simple projection/reconstruction
- rotationally invariant (no aliasing)
- simple rotation
- simple convolution
- few basis functions ? low freqs
l1 m-1
l1 m0
l1 m1
l2 m1
l3 m-1
l3 m2
l4 m-2
9Diffuse Transfer Results
No Shadows/Inter Shadows
ShadowsInter
10Glossy Self-Transfer
- exiting radiance is view-dependent
- depends on BRDF (we use Phong)
11Glossy Self-Transfer
- exiting radiance is view-dependent
- depends on BRDF (we use Phong)
- represent transferred incident radiance, not
exiting - accounts for shadows, interreflections
- allows run-time BRDF changes
12Transfer Matrix
Precompute how global lighting ? transferred
lighting
p1
p1
lighting
p2
p2
transfer matrices
transferred radiance
13Glossy Rendering
Integrates incident radiance against BRDF in
direction v
Transfer matrix (maps radiance to transferred
incident radiance)
Lighting Env in SH (vector)
Freeze the view
Freeze the Light
Phong Convolve light and evaluate in reflection
direction, R
14Glossy Transfer Results
No Shadows/Inter Shadows
ShadowsInter
- Glossy object, 50K mesh
- Runs at 3.6/16/125fps on 2.2Ghz P4, ATI Radeon
8500
15Interreflections and Caustics
interreflections
none
1 bounce
2 bounces
Transport Paths
Runtime is independent of transport complexity
caustics
16Arbitrary BRDFs Kautz02
17Arbitrary BRDF Results
Other BRDFs
Spatially Varying
Anisotropic BRDFs
18Neighborhood Transfer
- Allows to cast shadows/caustics onto arbitrary
receivers - Store how object scatters/blocks light around
itself (transfer matrices on grid)
transfer matrices
transferred radiance
19Neighborhood Transfer Results
- 64x64x8 neighborhood
- diffuse receiver
- timings on 2.2Ghz P4, ATI Radeon 8500
- 4fps if light changes
- 120fps for constant light
20Volumes
- Diffuse volume 32x32x32 grid
- Runs at 40fps on 2.2Ghz P4, ATI 8500
- Here dynamic lighting
21Local Lighting using Radiance Sampling
multi-sample result
single sample(at center light at ?)
multi-sample locations
- Sample incident radiance at multiple points
- Choose sample points over object using ICP from
VQ - Correct for shadows but not interreflections
22Light Size vs. SH Order
0
20
40
n2linear
n3quadratic
n4cubic
n5quartic
n6quintic
n26
n26windowed
RT
23Results
24Conclusions
- Contributions
- Fast, arbitrary dynamic lighting
- on surfaces or in volumes
- Includes shadows and interreflections
- Works for diffuse and glossy BRDFs
- Limitations
- Works only for low-frequency lighting
- Rigid objects only, no deformation
25Future Work
- Practical glossy transfer
- Eliminate frozen view/light constraints
- Compress matrices/vectors
- Enhanced preprocessing
- Subsurface scattering, dispersion
- Simulator optimization
- Adaptive sampling of transfer over surface
- Deformable objects
26Acknowledgements
- Thanks to
- Jason Mitchell Michael Doggett (ATI)
- Matthew Papakipos (NVidia)
- Paul Debevec for light probes
- Stanford Graphics Lab for Buddha model
- Michael Cohen, Chas Boyd, Hans-Peter Seidel for
early discussions and support - Questions?
27Performance
28Matrix Formulation
29Results Preprocessing
30Previous Work Precomputed Transport
- Greger96 irradiance volumes
- move diffuse object through precomputed lighting
- Miller98,Wood00,Chen02 surface lightfields
- frozen lighting environments
- Ashikmin02 steerable illumination textures
- steers small light source over diffuse object
- Matusik02 image-based 3D photography
- surface lightfield reflectance field not
interactive
31Dynamic Lighting
- Sample incident lighting on-the-fly
- precompute textures for SH basis functions
- use cube map parameterization
- render into 6 cube map faces around p
- read images back
- projection dot-product between cube maps
- Results
- low-resolution cube maps sufficient 6x16x16
- average error 0.2, worst-case 0.5
- takes 1.16 ms on P3-933Mhz, ATI 8500