Quirin Meyer 1, Christian Eisenacher 1, Marc Stamminger 1, Carsten Dachsbacher 2 1 Erlangen-Nuremberg University, Department Informatik, Computer Graphics 2 Stuttgart University, VIS/VISUS
oracle?
Link & hierarchy creation ◦ Hierarchy of patches
Link & hierarchy creation ◦ Hierarchy of patches ◦ Hierarchy of links
Link & hierarchy creation ◦ Hierarchy of patches ◦ Hierarchy of links Transport light over links ◦ Keep hierarchy consistent ◦ Convolute with BRDF Create Links and Patch Hierarchy Simulate Light Transport Display Display
Link & hierarchy creation ◦ Hierarchy of patches ◦ Hierarchy of links Create Links and Patch Hierarchy Simulate Light Transport Display Simulate Light Transport Display Transport light over links ◦ Keep hierarchy consistent ◦ Convolute with BRDF Display GPU APPROVED
Link creation still not on the GPU! Problem on the GPU: ray casts for explicit visibility computation New radiosity-like methods: ◦ Implicit Visibility [Dong07] ◦ Antiradiance [Dachsbacher07] ◦ Directional discretization Create Links and Patch Hierarchy Simulate Light Transport Display
Goal: interactive global illumination Visibility without ray casts allows patch hierarchy & link creation on the GPU How to parallelize? ◦ Parallelism over the links ◦ Parallel job queue of links ◦ Mark used patches on the way to create a compact hierarchy of patches
... oracle scan refine
oracle
4 4
4 4
4 4
scan
scan
scan
scan
refine
refine
refine
refine
refine
refine
... oracle scan refine Until all links are ready!
64 bins ≡ 1 KiB 128 bins ≡ 2 KiB 256 bins ≡ 4 KiB
4253 Nodes ~ 4 MB17745 Nodes ~ 17 MB
refine
scan
Bin search Link recoding Form Factors Implicit Visibility: Only keep shortest link Topology
Link Creation: 24.2 ms Links:1.1 M Patches:21 k Bins:256 3 Iter. AR:53.1 ms Total FPS:11 fps
Antiradiance Implicit Visibility bins
1 Iteration 2 Iteration 3 Iteration Link Creation bins 12 fps 25 fps 50 fps 81 fps
1 Iteration 2 Iteration 3 Iteration Link Creation bins fps
Oracle Scan Refine Mark Recode Topology Min. Link IV only 1.1 M Links and 21 k Patches 2.9 ms 8.0 ms 1.2 ms 5.5 ms 6.3 ms 5.6 ms 0.3 ms
Link creation time ~ solution time Surprisingly simple kernels Performance ◦ Transferring 1 M links from CPU to GPU13.2 ms ◦ Creating 1 M links on the GPU24.2 ms Global atomics not evil
No clustering („surfel-hierarchy“ ) [Dong07] Maximum depth of perfect patch tree Memory consumption: 82.9 MB for 21 k patches
Link creation for hierarchical radiosity on GPU ◦ Link hierarchy ◦ Compact patch hierarchy Two methods ◦ Antiradiance: 50 M links / second ◦ Implicit Visibility: 15 M links / second ◦ Dynamic, interactive scenes
Link Creation ◦ BF-refinement ◦ Clustering Antiradiance/Implicit Visibility ◦ Reduce storage costs per node ◦ Light transport