Scalable Virtual Ray Lights Rendering for Participating Media Nicolas Vibert Adrien Gruson Heine Stokholm Troels Mortensen Wojciech Jarosz Toshiya Hachisuka Derek Nowrouzezahrai McGill University Luxion VIA University College Dartmouth College The University of Tokyo
2 MOTIVATION: Surface and Volume interaction
3 MOTIVATION: Volume interaction only
4 VOLUMETRIC RENDERING s Sensor Image Plane π¦ 0 π + π # (π¦, π) = ) π - (π£)π / (π¦ 0, π)ππ£ *
5 VOLUMETRIC RENDERING: Rendering techniques β’ Path tracing / Bidirectional path tracing
6 VOLUMETRIC RENDERING: Many techniques β’ Path tracing / Bidirectional path tracing β’ Density estimation: β’ Volumetric Photon Mapping β’ Photon Beam β’ Photon Planes β’ βHigher-order geometric primitivesβ
7 VOLUMETRIC RENDERING: Many techniques β’ Path tracing / Bidirectional path tracing β’ Density estimation: β’ Volumetric Photon Mapping β’ Photon Beam β’ Photon Planes β’ βHigher-order geometric primitivesβ β’ Many lights : β’ Virtual point lights β’ Virtual spherical lights β’ Virtual ray lights β’ βHigher-order geometric primitivesβ
8 MANY LIGHTS β’ Many-light techniques have been introduced in βinstant radiosityβ [Keller et al. 1997] β’ Indirect illumination as a sum of direct illumination of virtual lights π
9 MANY LIGHTS Virtual point light contribution π§ ) πππ(π§, x 0 345 = π # |π§ β π¦ 0 | < π(x 0 ) π¦ 0
10 MANY LIGHTS Virtual point light contribution π§ ) πππ(π§, x 0 345 = π # |π§ β π¦ 0 | < π(x 0 ) \ 1 π¦ 0 β π§ β π¦ 0 <
11 MANY LIGHTS β’ VPL vs. short VRL
12 MANY LIGHTS: VRL Virtual ray lights contribution π€ πππ + C ) πππ(π£, π€ VRL = ) π # ) π₯ π£, π€ < d π€ d π£ * * π£
13 MANY LIGHTS: VRL Virtual ray lights contribution π€ πππ ) πππ(π£, π€ 3HI = π # π₯ π£, π€ < π(π£, π€ ) π π£, π€ β π₯ π£, π€ J< π£
14 MANY LIGHTS: VRL vs. VPL VRL VPL Equal rendering time
15 MANY LIGHTS Realistic rendering : β’ Unmanageable amount of virtual lights β’ Cost linear with lights
16 MANY LIGHTS Realistic rendering: β’ Unmanageable amount of virtual lights β’ Cost linear with lights Aim: β’ Sub-linear cost β’ Scalable methods [Walter et al. 2005][Walter et al. 2006][Walter et al. 2012] [Hasan et al. 2007][Ou et al. 2011][Bus et al. 2015]
17 SCALABILITY
18 SCALABILITY INDIVIDUAL LIGHTS
19 SCALABILITY CLUSTERS INDIVIDUAL LIGHTS
20 SCALABILITY CLUSTERS INDIVIDUAL LIGHTS
21 RELATED WORKS Previous works have already explored a combination of VRLs with scalable techniques: β’ Adaptive light-slice for virtual ray light [Frederickx al. 2015] β’ Adaptive matrix column sampling and completion for rendering participating media [Huo et al. 2016]
22 Our solution: Upper bound ) 3H5(0,K L 0,K M N(0,K < B ) B=?
23 Our solution: Upper bound QR(0,K)S T (0)S T (L 0,K ) < B L 0,K M N(0,K ) Ξ¦π(π£, π€) : Constant within the VRL cluster
24 Our solution: Upper bound QR(0,K)S T (0)S T (L 0,K ) < B L 0,K M N(0,K ) Ξ¦π(π£, π€) : Constant within the VRL cluster π - (π£) : Impossible to control, assuming worst case => 1
25 Our solution: Upper bound QR(0,K)S T (0)S T (L 0,K ) < B L 0,K M N(0,K ) Ξ¦π(π£, π€) : Constant within the VRL cluster π - (π£) : Impossible to control, assuming worst case => 1 π€ AABB π - (π₯ π£, π€ ) : Based on the min distance => β #/V β€ π₯ X (π£, π€) => π - (π₯ (π£, π€) ) < π - (β #/V ) π₯ (π£, π€) β #/V π£
26 Our solution: Upper bound QR(0,K)S T (0)S T (L 0,K ) < B L 0,K M N(0,K ) Ξ¦π(π£, π€) : Constant within the VRL cluster π - (π£) : Impossible to control, assuming worst case => 1 π€ AABB π - (π₯ π£, π€ ) : Based on the min distance => β #/V β€ π₯ X (π£, π€) => π - (π₯ (π£, π€) ) < π - (β #/V ) π₯ (π£, π€) β #/V π£
27 Our solution: Upper bound π₯ X π£, π€ < π π£, π€ = π₯ X π£, π€ < π(π£|π€)π(π€)
28 Our solution: Upper bound π₯ X π£, π€ < π π£, π€ = π₯ X π£, π€ < π(π£|π€)π(π€) Worst case when VRL and sensor ray are parallel. Z ) π(π€ < 5 [\] , with π #bc the maximum length inside the cluster.
29 Our solution: Upper bound π₯ X π£, π€ < π π£, π€ = π₯ X π£, π€ < π(π£|π€)π(π€) Worst case when VRL and sensor ray are parallel. Z ) π(π€ < 5 [\] , with π #bc the maximum length inside the cluster.
30 Our solution: Upper bound π€ AABB Ξ e β π₯ (π£, π€) π£ π£ e π‘
31 Our solution: Upper bound h(g g h M ig 0 M ) π₯ π£, π€ < π π£ π€ = j(g h M ig 0 M ) π€ AABB Ξ e β π₯ (π£, π€) π£ π£ e π‘
32 Our solution: Upper bound h(g g h M ig 0 M ) π₯ π£, π€ < π π£ π€ = j(g h M ig 0 M ) π€ AABB g h = j Ξ e β π₯ (π£, π€) π£ π£ e π‘
33 Our solution: Upper bound h(g g h M ig 0 M ) π₯ π£, π€ < π π£ π€ = j(g h M ig 0 M ) AABB g h = j e β > β #/V Ξ β #/V π‘
34 Our solution: Upper bound h(g g h M ig 0 M ) π₯ π£, π€ < π π£ π€ = j(g h M ig 0 M ) AABB g h = j e β > β #/V Ξ β #/V π‘
35 Our solution: Upper bound h(g g h M ig 0 M ) π₯ π£, π€ < π π£ π€ = j(g h M ig 0 M ) AABB g h = j e β > β #/V Ξ #bc β #/V π‘
36 Our solution: Upper bound h(g g h M ig 0 M ) π₯ π£, π€ < π π£ π€ = j(g h M ig 0 M ) AABB g h = j e β > β #/V Ξ < Ξ #bc Ξ #bc β #/V π‘
37 Our solution: Upper bound QR 0,K S T k lmn j lop I lop B = h [qr
38 Our solution: Light tree Agglomerative approach [Walter et al. 2008]: - Not multithreaded - Does not scale with high node overlapping π(π < ) What we need: - Fast/Parallelizable - Agglomerative principal
39 Our solution: Light tree
40 Our solution: Light tree Step 1: Partition the space with sorting
41 Our solution: Light tree Step 2: Build local light tree that minimize the metric
42 Our solution: Light tree Step 3: Build final tree with agglomerative process
43 Results β’ Equal time comparison β’ VPL with LC β’ VRL β’ Two metrics β’ RMSE: sensitive to fireflies β’ SMAPE: robust to fireflies β’ Isotropic medium, only medium-medium interactions
44 Results Reference VPL LC (1M) VRL LC (100k) VRL (10k) 344 secs 370 secs 323 secs RMSE: 9.01 RMSE: 2.70 RMSE: 5.46 SMAPE: 3.25 SMAPE: 4.31 SMAPE: 9.93
45 Results > 0.05 VPL LC (1M) - 147 secs VRL LC (100k) - 121 secs VRL (10k) - 147 secs RMSE: 0.33 RMSE: 0.01 RMSE: 0.05 SMAPE: 2.44 SMAPE 1.88 SMAPE 9.11 SMAPE 0.0
46 Results STARCAISE VEACH-LAMP VEACH-LAMP BATHROOM Relative speed-up VRL count VPL count
47 Summary Contributions: β’ New bound for VRL cluster β’ Efficient tree construction β’ X10 Speedup
48 Questions ?
Recommend
More recommend