Presentation on theme: "Bi-Scale Radiance Transfer Peter-Pike Sloan Xinguo Liu Heung-Yeung Shum John Snyder Microsoft."— Presentation transcript:
Bi-Scale Radiance Transfer Peter-Pike Sloan Xinguo Liu Heung-Yeung Shum John Snyder Microsoft
Radiance Transfer Techniques Bidirectional Texture Functions (BTFs) local transport directional light basis fine spatial scale (meso-scale)
Radiance Transfer Techniques Precomputed Radiance Transfer (PRT) global transport low frequency light basis coarse spatial scale (macro-scale)
Radiance Transfer Techniques Bi-Scale Radiance Transfer local + global transport low frequency light basis two spatial scales
Our Goal add meso-scale texture to PRT extend BTF to handle –global transport –soft (area) lighting dynamic light/view in real-time
Bidirectional Texture Functions (BTFs) b(xp,vp,s)b(xp,vp,s) 6D scalar function x p : texture index at point p s : light direction v p : view direction at p get exit radiance e by integrating over directions s : [Dana99] s vpvp xpxp
Masking (View Dependence) different viewing angles image different surface points BTF models parallax/occlusion xpxp
Problems 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
Radiance Transfer Texture (RTT) 4D vector-valued function (25-vector) computed (BTF RTT) by integration:
Bi-Scale Radiance Transfer l : vector = source radiance spherical function M p : 25x25 transfer matrix at point p (source transferred incident) q(x p ) : 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
Preprocessing compute transfer matrix M p at mesh vertices [Sloan02] generate BTF over small patch b(x p,v p,d) [Liu01] convert BTF to RTT by integration: b(x p,v p ) build ID map between surface and RTT patch: q(x p )
ID Map: q ( x p ) 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
Performance 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.
Contributions 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
Future Work better spatial filtering of RTT robust sampling of PRT surface signal combine with CPCA handling meso-scale silhouettes general LOD control
Questions? Thanks to Dan Ling, John Hart, Jingdan Zhang, Paul Debevec, Stanford, and MPI.
Your consent to our cookies if you continue to use this website.