Upload
mohamed-mullennix
View
214
Download
1
Tags:
Embed Size (px)
Citation preview
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 byVirtual 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 MRCSPixe
lsLights• Matrix interpretation
indirect illumination
• Problem statement
= Σ (
14
Review of MRCSPixe
lsLights
)indirect illumination
• Solution
15
Review of MRCSPixe
lsLights
)≈ Σ (
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 clustering
clusters
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
Reject
local
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