Download presentation
Presentation is loading. Please wait.
1
Adaptive Global Visibility Sampling Jiří Bittner 1, Oliver Mattausch 2, Peter Wonka 3, Vlastimil Havran 1, Michael Wimmer 2 1 Czech Technical University in Prague 2 Vienna University of Technology 3 Arizona State University 1
2
Motivation – Potentially Visible Sets 2 Potentially Visible Set (PVS)View cell
3
Motivation – PVS Applications 3 Rendering Game consoles Data streaming Virtual worlds Visibility Analysis Level design
4
PVS for 10,000 view cells: > 1 dayPVS for 1 view cell:~ 10 sec Motivation – Global Visibility 4
5
PVS Computation Methods 5 PVS size Exact Conservative Aggressive PVS PVS E PVS PVS E PVS PVS E [Durand00] [Wonka00] [Koltun01] [Leyvand03], … [Nirenstein02] [Bittner03] [Haumont05] [Airey90] [Nirenstein04] [Wonka06], …
6
Conservative Yet Another PVS Computation Method? 6 Time Exact Aggressive Too large PVSs Ideal Costly [Wonka et al. SIGGRAPH 2006] We want to get here! > 20x faster Interaction with global visibility Tune parameters… Tune a bit more … Our method PVS size New applications Not robust Exact ~1 minute
7
Classical from-region visibility Global visibility sampling – – Uses visibility coherence – – And is progressive ` Global Visibility Sampling 7 for each view cell Compute PVS while !terminate Compute vis. sample Add to all PVSs
8
Visibility Samples 8
9
Different sample distributions – – Stationary – – Adaptive Mix distribution according to their performance Adaptive Global Visibility Sampling How to sample efficiently? 9 while !terminate Compute visibility sample Add to all PVSs
10
Two point – – point + point Point-direction – – point + direction Object-direction – – surface point + direction Each distribution good for particular scene configuration Stationary Sample Distributions 10
11
Stationary distributions Adaptive sampling – – Assume visibility coherence – – Sample neighborhood of good samples by mutations Adaptive Sample Distribution 11 Many bad samples (no new PVS entries) A few good samples (new PVS entries)
12
Mutation Based Sampling What is a “good” sample? – – Sample with contribution to at least one view cell! Store good samples in mutation queue 12
13
Mutation Based Sampling Two-point mutation – – Mutate both end points of a sample – – Use 2D Gaussian in tangent plane 13
14
Silhouette mutation – – Mutate termination point – – Find silhouette ray Reverse mutation – – Mutate origin – – Applied if depth discontinuity detected Mutation Based Sampling – cont. 14
15
Mixing Sample Distributions 15 ` … new PVS entries for view cell v … view cells pierced by the sample Mix distributions adaptively Contribution of a sample
16
Mixing Sample Distributions 16 ` + + … new PVS entries for view cell v … view cells pierced by the sample Mix distributions adaptively Contribution of a sample
17
Mixing Sample Distributions – cont. Performance (weight) of distribution D Distribution selected randomly according to w(D) 17 t(s) … time to process the sample
18
Terminating the Computation PVS / sample < threshold pixel error < threshold Cheap pixel error estimation – – Error seen by randomly positioned camera – – Uses contributions of point-direction samples 18
19
Putting it Together 19 Terminate? Select distribution Draw sample Cast bidirectional rays Hit? Update distribution weights Update PVSs Contribution? Store as mutation candidate n y y n n Done y
20
MMinimize visibility errors in early stages QQuick preview EExtend visible objects FFilter kernel width depends on ––D––Distance ––S––Sampling density EErrors vs. PVS overestimation Visibility Filtering 20 V V
21
Interactive editing Update only affected scene parts Delete object – – Remove from all PVSs – – Mutations find new objects Insert object – – Create shadow volumes – – Remove shadowed objects – – Mutations reinsert PVS entries Dynamic Updates 21 V V
22
5 test scenes 8,192 view cells each 2 x Xeon E5440 2.83GHz quad-core CPU, 32GB RAM Custom BVH-based ray tracer 0.1M-1M rays/s SceneViennaArenaPompeiiPowerplantBoeing 777 Triangles3,609,6754,528,1605,646,04112,748,510337,000,000 Objects6,1567,80412,22810,150130,000 Results 22
23
Results – Evaluated Methods AGVS … Adaptive Global Visibility Sampling REF … Uniform random sampling (point-direction) GPU-REF … GPU implementation (occlusion queries) 23
24
Results – Average PVS size 24 speedup ~43 2.86.6 speedup ~18 120
25
Results – PVS size 25 2.0 speedup ~60 speedup ~85 1.4120
26
Results – Pixel Error Measurement 26 After 2 hours: avg. ~10 pixels, max. ~500 pixels Walkthrough in Vienna Resolution 1000 x 1000
27
Results - Visibility Error Visualization 27
28
Results – Render Cost Analysis Application 28
29
Conclusion New PVS computation method – – Progressively refines global visibility solution – – Adaptive sampling Benefits – – Speed – – Ease of use (interaction, termination) Quick preview of global visibility – – Render cost analysis, game level design High quality PVS computation – – Games, online multi-user virtual worlds 29
30
Thank you! Acknowledgments Data: Digital Media Production, Boeing comp. Funding: Austrian Science Fund (FWF) (P21130-N13), Ministry of Education, Youth and Sports of the Czech Republic (LC-06008, MSM 6840770014, Kontakt 2009/6), NSF. 30
31
Details – Comparison with GVS Walkthrough of 33 view cells GVS – – ~62 hours for 8,192 view cells – – avg. pixel error 5.4, max. pixel error 424 AGVS – – 17 minutes, avg 104, max 4519 – – 2 hours, avg 10, max. 501 31
32
Results – Comparison with GVS 32
33
Details – Comparison with Online Culling 33
34
Details - Termination Criteria 34
35
Details – Visibility Filter 35
36
Queue of mutation candidates Every entry has a mutation count Equalize mutation counts Size: 0.5M - 2M rays Details - Mutation Sample Buffer 36 17 1 0 Recent entries … … 1 2 2 3 3 17
37
Details – Distribution Mixture 37
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.