Title: BiScale Radiance Transfer
1Bi-Scale Radiance Transfer
- Peter-Pike Sloan
- Xinguo Liu
- Heung-Yeung Shum
- John Snyder
- Microsoft
2Radiance Transfer Techniques
- Bidirectional Texture Functions (BTFs)
- local transport
- directional light basis
- fine spatial scale (meso-scale)
3Radiance Transfer Techniques
- Precomputed Radiance Transfer (PRT)
- global transport
- low frequency light basis
- coarse spatial scale (macro-scale)
4Radiance Transfer Techniques
- Bi-Scale Radiance Transfer
- local global transport
- low frequency light basis
- two spatial scales
5Our Goal
- add meso-scale texture to PRT
- extend BTF to handle
- global transport
- soft (area) lighting
- dynamic light/view in real-time
6Bidirectional Texture Functions (BTFs)
b(xp,vp,s)
Dana99
- 6D scalar function
- xp texture index at point p
- s light direction
- vp view direction at p
- get exit radiance e by integrating over
directions s
7Masking (View Dependence)
xp
different viewing angles image different surface
points BTF models parallax/occlusion
8Precomputed Radiance Transfer (PRT)
l
p
object
9Precomputed Radiance Transfer (PRT)
l
l'
p
10Precomputed Radiance Transfer (PRT)
e(p,vp)
Kautz02
l'
vp
p
11Related Interactive Rendering Techniques
12Problems with BTFs and PRT
- BTF hard to add global transport and soft
lighting - already unwieldy 6D function
- expensive integration for area lighting
- PRT hard to add meso-scale effects
- lengthy simulation meso-scale many surface
points - huge storage PRT matrix (625D) at each surface
point - cant render in real-time at meso-scale
resolutions
13Radiance Transfer Texture (RTT)
- 4D vector-valued function (25-vector)
- computed (BTF ? RTT) by integration
14RTT Demo
15Radiance Transfer Texture (RTT)
- just a spatially-varying BRDF vector from PRT
- tabulated over small patch
- provides inexpensive area lighting
- but still no global transport
16Bi-scale Radiance Transfer
17Bi-Scale Radiance Transfer
- l vector source radiance spherical function
- Mp 25x25 transfer matrix at point p (source ?
transferred incident) - q(xp) ID map (2D ? 2D, maps RTT patch over
surface) - b(x,v) RTT (4D ? 25D, tabulated over small
spatial patch)
applies macro-scale transferred radiance to
meso-scale RTT
18Preprocessing
- compute transfer matrix Mp at mesh vertices
Sloan02 - generate BTF over small patch b(xp,vp,d) Liu01
- convert BTF to RTT by integration b(xp,vp)
- build ID map between surface and RTT patch q(xp)
19ID Map q(xp)
- RTT texel 25x3 components, 8x8 views
- impractical to store/synthesize unique RTT texel
per surface point (2k x 2k) - instead synthesize index into a small patch (64 x
64) - 2D rather than 4,800D
- but cant interpolate indices
20ID Map
21Preprocessing - ID map
RTT
mesh
22Preprocessing - Examples
646488
646488
646488
128128 (view-independent)
bunny model 10k vertices ID map 20482048
23Run-Time Rendering
Vertex Info
Lighting
To Pixel Shader
CPU
Vertex Shader
24Run-Time Rendering Pixel Shader
RTT
Pixel Shader
Exit Radiance
25(No Transcript)
26Results View Dependent Effects (Masking)
27Results Demo
ATI Radeon 9800
28Performance Statistics
- computing PRT
- 8 minutes for 10k vertices (25x25 transfer
matrices) - generating synthetic RTT
- 6-27 hours for 64x64 patch
- building ID map
- 20 minutes for creating atlas
- 4 hours for texture synthesis
- run time performance
- 14.5 frames per second
- 2.2Ghz Pentium IV with ATI Radeon 9700.
29Limitations of Bi-Scale Radiance Transfer
- static geometry
- distant, low-frequency lighting
- coarse view dependence
- shallow meso-scale texture
- no highly specular materials
30Contributions
- propose a bi-scale representation for radiance
transfer - parameterize BTF by spherical harmonics
- RTT (Radiance Transfer Texture)
- for fast area lighting
- generalize PRT via RTT rather than BRDF
- practical, meso-scale transport effects
- access RTT using an id map
- high spatial resolution using small patch
31Future Work
- better spatial filtering of RTT
- robust sampling of PRT surface signal
- combine with CPCA
- handling meso-scale silhouettes
- general LOD control
32Questions?
Thanks to Dan Ling, John Hart, Jingdan Zhang,
Paul Debevec, Stanford, and MPI.
33Previous Work