Precomputed Radiance Transfer for RealTime Rendering in Dynamic, LowFrequency Lighting Environments - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Precomputed Radiance Transfer for RealTime Rendering in Dynamic, LowFrequency Lighting Environments

Description:

Precomputed Radiance Transfer for RealTime Rendering in Dynamic, LowFrequency Lighting Environments – PowerPoint PPT presentation

Number of Views:148
Avg rating:3.0/5.0
Slides: 32
Provided by: jank7
Category:

less

Transcript and Presenter's Notes

Title: Precomputed Radiance Transfer for RealTime Rendering in Dynamic, LowFrequency Lighting Environments


1
Precomputed 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

2
Previous 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
3
Motivation
  • 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
4
Basic Idea
Preprocess for all i
5
Diffuse Self-Transfer
  • 2D example, piecewise constant basis, shadows only

Preprocess
Rendering
6
Precomputation
Basis 16
Basis 17
illuminate
result
Basis 18
7
Previous 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

8
Basis 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
9
Diffuse Transfer Results
No Shadows/Inter Shadows
ShadowsInter
10
Glossy Self-Transfer
  • exiting radiance is view-dependent
  • depends on BRDF (we use Phong)

11
Glossy 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

12
Transfer Matrix
Precompute how global lighting ? transferred
lighting

p1
p1
lighting
p2
p2

transfer matrices
transferred radiance
13
Glossy 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
14
Glossy Transfer Results
No Shadows/Inter Shadows
ShadowsInter
  • Glossy object, 50K mesh
  • Runs at 3.6/16/125fps on 2.2Ghz P4, ATI Radeon
    8500

15
Interreflections and Caustics
interreflections
none
1 bounce
2 bounces
Transport Paths
Runtime is independent of transport complexity
caustics
16
Arbitrary BRDFs Kautz02
17
Arbitrary BRDF Results
Other BRDFs
Spatially Varying
Anisotropic BRDFs
18
Neighborhood 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
19
Neighborhood Transfer Results
  • 64x64x8 neighborhood
  • diffuse receiver
  • timings on 2.2Ghz P4, ATI Radeon 8500
  • 4fps if light changes
  • 120fps for constant light

20
Volumes
  • Diffuse volume 32x32x32 grid
  • Runs at 40fps on 2.2Ghz P4, ATI 8500
  • Here dynamic lighting

21
Local 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

22
Light Size vs. SH Order
0
20
40
n2linear
n3quadratic
n4cubic
n5quartic
n6quintic
n26
n26windowed
RT
23
Results
  • Live Demo (Radeon 9700)

24
Conclusions
  • 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

25
Future 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

26
Acknowledgements
  • 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?

27
Performance
28
Matrix Formulation
29
Results Preprocessing
30
Previous 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

31
Dynamic 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
Write a Comment
User Comments (0)
About PowerShow.com