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.

Download Report

Transcript 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.

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
PRT Teaser Demo
Terminology
Terminology
Terminology
Terminology
Rendering Equation






L p  d  Le p  d   f r p, s  d L  p  s  H N p  s  ds

Rendering Equation






L p  d  Le p  d   f r p, s  d L  p  s  H N p  s  ds

Radiance leaving point p in direction d
Rendering Equation






L p  d  Le p  d   f r p, s  d L  p  s  H N p  s  ds

Radiance emitted from point p in direction d
Rendering Equation






L p  d  Le p  d   f r p, s  d L  p  s  H N p  s  ds

Integral over directions s on the hemisphere around p
Rendering Equation






L p  d  Le p  d   f r p, s  d L  p  s  H N p  s  ds

BRDF at point p evaluated for incident direction s in outgoing direction d
Rendering Equation






L p  d  Le p  d   f r p, s  d L  p  s  H N p  s  ds

Radiance arriving at point p from direction s (also LHS)
Rendering Equation






L p  d  Le p  d   f r p, s  d L  p  s  H N p  s  ds

Lamberts law – cosine between normal and -s = dot(Np, -s)
Neumann Expansion






L p  d  L0 p  d  L1 p  d 
Exit radiance expressed as infinite series
Neumann Expansion






L p  d  L0 p  d  L1 p  d 
Direct lighting arriving at point p – from distant environment
Neumann Expansion






L p  d  L0 p  d  L1 p  d 




L0 p  d   f r p, s  d LS  p  s V  p  s  H N p  s  ds

Direct lighting arriving at point p – from distant environment
Neumann Expansion






L p  d  L0 p  d  L1 p  d 




L0 p  d   f r p, s  d LS  p  s V  p  s  H N p  s  ds

Source Radiance – distant lighting environment
Neumann Expansion






L p  d  L0 p  d  L1 p  d 




L0 p  d   f r p, s  d LS  p  s V  p  s  H N p  s  ds

Visibility function - binary
Neumann Expansion






L p  d  L0 p  d  L1 p  d 
All paths from source that take 1 bounce
Neumann Expansion






L p  d  L0 p  d  L1 p  d 




L1 p  d   f r p, s  d L0  p  s  1  V  p  s   H N p  s  ds

L0
All paths from source that take 1 bounce
Neumann Expansion

 
 

L  p  d    f  p, s  d  L  p  s  1  V  p  s   H
L p  d  L0 p  d  L1 p  d 
i
r
i 1

Li-1
All paths from source that take i bounces
Np
 s  ds
Diffuse PRT






L p  d  L0 p  d  L1 p  d 




L0 p  d   f r p, s  d LS  p  s V  p  s  H N p  s  ds

Diffuse PRT






L p  d  L0 p  d  L1 p  d 




L0 p  d   f r p, s  d LS  p  s V  p  s  H N p  s  ds

L0  p  
d
LS   s V  p  s  H N   s  ds

 
p
Diffuse PRT






L p  d  L0 p  d  L1 p  d 




L0 p  d   f r p, s  d LS  p  s V  p  s  H N p  s  ds

L0  p  
d
LS   s V  p  s  H N   s  ds

 
p
Diffuse PRT






L p  d  L0 p  d  L1 p  d 




L0 p  d   f r p, s  d LS  p  s V  p  s  H N p  s  ds

L0  p  
d
LS   s V  p  s  H N   s  ds

 
p
Diffuse PRT
d
L0  p  
LS   s V  p  s  H N   s  ds

 
LS   s    liYi  s 
p
i
Diffuse PRT
d 

L0  p  
l
Y

s
 V  p  s  H N  s  ds

i i


  i

d
L0  p  
li  Yi   s V  p  s  H N   s  ds

 i 
p
p
Diffuse PRT
d
L0  p  

 l  Y  s V  p  s  H  s  ds
i
i
i
Np

d
0
L0  p  
l
t

 i i pi
L0  p    li t 0pi
i
Diffuse PRT






L p  d  L0 p  d  L1 p  d 
L  p    li  t 0pi  t1pi 
i
L  p    li t pi
i

Diffuse Self-Transfer
2D example, piecewise constant basis, shadows only
Preprocess
Project Light
Rendering
p2
p2
p3
p1
p2
p3
p1
p3
light
light
•
p1
• p2
• p3
p1
=
=
=
Precomputation
..
.
Basis 16
Basis 17
Basis 18
..
.
illuminate
result
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
Spherical Harmonics
n=2
n=3
n=26
original
n=5
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 Demo
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
[email protected]
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.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.