Combining Global and Local Virtual Lights for Detailed Glossy Illumination
description
Transcript of Combining Global and Local Virtual Lights for Detailed Glossy Illumination
Miloš Hašan
Jaroslav Křivánek
Philipp Slusallek
Kavita Bala
Combining Global and Local Virtual Lights for
Detailed Glossy Illumination
Tomáš Davidovi
čSaarland
University / DFKI
Cornell University
Charles University,
Prague
Goal: Glossy inter-reflections
2
• Indirect glossy highlights from complex geometry
Our new approach
3
our approach: 6 minutes reference: 244 minutes
• Unbiased methods– (Bidirectional) path tracing [Kajiya 86,
Lafortune el al. 93]– Metropolis light transport [Veach and Guibas
97]• Biased methods
– (Progressive) photon mapping[Jensen 2001, Hachisuka et al. 08/09]
– Radiance caching [Křivánek 05]• Scalable virtual light methods
– Lightcuts [Walter et al. 05/06]– Matrix row-column sampling [Hašan et al.
07/09]
Previous work
4
• Instant radiosity [Keller 1997]• Approximate indirect illumination by
Virtual Point Lights (VPLs)1. Generate
VPLs
5
Previous work – VPL rendering
2. Render with VPLs
Previous work – VPL energy loss
energy loss
material change
[Křivánek et al. 10]
VPLs w/ clamping
GI reference
artifacts
VPL
6
• Replace point lights by spheres [Hašan et al. 2009]
• Alleviates the energy loss but blurs illumination
Previous work – VSLs
7
virtual spherical lights (VSLs) reference
blur
• Compute the missing energy by path tracing[Kollig and Keller 2004]
• As slow as path-tracing everything (for glossy)
Previous work – Compensation
8
indirect illumination
Compensation
ClampingInstantradiosity (VPLs)
Path tracing
• Specific fast solution for each component
Our approach
9
indirect illumination
Compensation
Clamping Global componentVisibility clust.
Local componentLocal VPLs
• Solution of the global component
• Solution of the local component
• Results
10
Outline
Solving the global component
• Light transport over long distances
• Handled by classic “global” VPLs
• Scalable solution: visibility clustering
12
Global (clamped) component
local
global
13
Review of MRCSPixels
Lights• Matrix interpretation
indirect illumination
• Problem statement
= Σ (
14
Review of MRCSPixels
Lights
)indirect illumination
• Solution
15
Review of MRCSPixels
Lights
)≈ Σ (
shadow maps for visibility
indirect illumination
• Many VPLs neededfor shading– Shading is cheap
shade from all VPLs
• Cannot afford visibility for every VPL
• Key idea:Separate shading from visibility
16
Visibility Clustering – MotivationLights
shading (all VPLs)visibility (representatives)
17
Global solution overviewRow
sampling
Global solution (clamped)
Global VPL tracing
shading
Reduced matrix
visibility
Visibility clustering
Render lights withreps’ visibility
• Clustering algorithm– Hierarchical splitting– Minimize the clustering cost
• L2 error of reduced matrix due to visibility approximation
18
Visibility clusteringclusters
representatives
shading
visibility
19
Visibility clustering resultMatrix row-
column sampling
Our visibility clustering
10k shadow maps 10k shading lights
5k shadow maps 200k shading lights
Solving the local component
• Localized light transport
• Less energy
• Solution: Local VPLs
21
Local (compensating) component
local
global
• Kollig & Keller compensation
22
Review of compensation
3) Contribute
Clamped
energy
2) Connect
1) Shoot path
global
• Our approach
23
Local lights – idea
Create local light
Contribute to a tile
global
local
• Our approach
24
Local lights – technical solution
local
from tile pixels
Probability density
Jittertiles
global
local
• Our approach
25
Local lights – technical solution
One-samplevisibility
global
Clampedenergy = 0
Rejectlocal
50-75%2-4x speedup
• Key idea: Tile visibility approximation
26
The complete local solution
Local solution(compensation)
Generate local lights
Reject zero contrib
Connect to global lights
Contributeto a tile
27
The complete local solution
Local solution(compensation)
Global solution (clamped)
Indirect illuminationsolution
• Localized transport• Less energy• Reuse on tiles
• Long distance transport
• Most of the energy• Visibility clustering
28
CPU/GPU cooperation
CPU
GPU
Generate & cluster globalVPL
Generate local VPLs
Render global VPLs
Render local VPLs
Results
30
Tableau
• shadow maps:
• global lights:
• local lights:
5,000
200,000
55,600,000
VSL: 6 min 16 sec
Our: 5 min 43 sec
reference: 244 min
31
TableauVSL: 6 min 16 sec
Our: 5 min 43 sec
reference: 244 min
• shadow maps:
• global lights:
• local lights:
5,000
200,000
55,600,000
32
Disney Concert Hall
• shadow maps:
• global lights:
• local lights:
15,000
200,000
13,500,000
Our: 2 min 44 sec
reference: 127 min
33
Disney Concert HallVSL: 1 min 47 sec
Our: 2 min 44 sec
reference: 127 min
• shadow maps:
• global lights:
• local lights:
15,000
200,000
13,500,000
34
Kitchen #1
Our: 4 min 16 sec
reference: 3343 min
• shadow maps:
• global lights:
• local lights:
10,000
200,000
25,100,000
35
Kitchen #1
• shadow maps:
• global lights:
• local lights:
10,000
200,000
25,100,000
Our: 4 min 16 sec
reference: 3343 min
36
Kitchen #1
• shadow maps:
• global lights:
• local lights:
10,000
200,000
25,100,000
VSL: 4 min 24 sec
reference: 3343 min
Our: 4 min 16 sec
37
Kitchen #2VSL: 6 min 25 sec
Our: 5 min 28 sec
reference: 6360 min
• shadow maps:
• global lights:
• local lights:
10,000
300,000
17,100,000
38
Kitchen #2
• shadow maps:
• global lights:
• local lights:
10,000
300,000
17,100,000
VSL: 6 min 25 sec
Our: 5 min 28 sec
reference: 6360 min
39
Kitchen #2 – limitations
• Loss of shadow definition• Small loss of energy
Our: 5 min 28 sec reference: 6360 min
• Highly glossy materials with GI• Split light transport
– Global component– Local component– Specialized methods for each
• Future work– Explore other solutions for global
component– Revisit split criteria (MIS instead of
clamping?) 40
Conclusions & Future Work
Acknowledgements
• Marie Curie Fellowship PIOF-GA-2008-221716
• NSF CAREER 0644175, NSF CPA 0811680
• Intel and Intel VCI• Microsoft• Autodesk• German Research Foundation
(Excellence Cluster 'Multimodal Computing and Interaction‘)
Thank you
43
Kitchen #2 – PPM and SPPM• (Stochastic)
Progressive Photon Mapping
PPM: 26 min 40 sec
Our: 5 min 28 sec
SPPM: 27 min 49 sec