scalable virtual ray lights rendering for participating
play

Scalable Virtual Ray Lights Rendering for Participating Media - PowerPoint PPT Presentation

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


  1. 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. 2 MOTIVATION: Surface and Volume interaction

  3. 3 MOTIVATION: Volume interaction only

  4. 4 VOLUMETRIC RENDERING s Sensor Image Plane 𝑦 0 πœ• + 𝑀 # (𝑦, πœ•) = ) π‘ˆ - (𝑣)𝑀 / (𝑦 0, πœ•)𝑒𝑣 *

  5. 5 VOLUMETRIC RENDERING: Rendering techniques β€’ Path tracing / Bidirectional path tracing

  6. 6 VOLUMETRIC RENDERING: Many techniques β€’ Path tracing / Bidirectional path tracing β€’ Density estimation: β€’ Volumetric Photon Mapping β€’ Photon Beam β€’ Photon Planes β€’ β€œHigher-order geometric primitives”

  7. 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. 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. 9 MANY LIGHTS Virtual point light contribution 𝑧 ) π‘Šπ‘„π‘€(𝑧, x 0 345 = 𝑀 # |𝑧 βˆ’ 𝑦 0 | < π‘ž(x 0 ) 𝑦 0

  10. 10 MANY LIGHTS Virtual point light contribution 𝑧 ) π‘Šπ‘„π‘€(𝑧, x 0 345 = 𝑀 # |𝑧 βˆ’ 𝑦 0 | < π‘ž(x 0 ) \ 1 𝑦 0 ∝ 𝑧 βˆ’ 𝑦 0 <

  11. 11 MANY LIGHTS β€’ VPL vs. short VRL

  12. 12 MANY LIGHTS: VRL Virtual ray lights contribution 𝑀 π‘Šπ‘†π‘€ + C ) π‘Šπ‘†π‘€(𝑣, 𝑀 VRL = ) 𝑀 # ) π‘₯ 𝑣, 𝑀 < d 𝑀 d 𝑣 * * 𝑣

  13. 13 MANY LIGHTS: VRL Virtual ray lights contribution 𝑀 π‘Šπ‘†π‘€ ) π‘Šπ‘†π‘€(𝑣, 𝑀 3HI = 𝑀 # π‘₯ 𝑣, 𝑀 < π‘ž(𝑣, 𝑀 ) π‘ž 𝑣, 𝑀 ∝ π‘₯ 𝑣, 𝑀 J< 𝑣

  14. 14 MANY LIGHTS: VRL vs. VPL VRL VPL Equal rendering time

  15. 15 MANY LIGHTS Realistic rendering : β€’ Unmanageable amount of virtual lights β€’ Cost linear with lights

  16. 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. 17 SCALABILITY

  18. 18 SCALABILITY INDIVIDUAL LIGHTS

  19. 19 SCALABILITY CLUSTERS INDIVIDUAL LIGHTS

  20. 20 SCALABILITY CLUSTERS INDIVIDUAL LIGHTS

  21. 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. 22 Our solution: Upper bound ) 3H5(0,K L 0,K M N(0,K < B ) B=?

  23. 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. 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. 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. 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. 27 Our solution: Upper bound π‘₯ X 𝑣, 𝑀 < π‘ž 𝑣, 𝑀 = π‘₯ X 𝑣, 𝑀 < π‘ž(𝑣|𝑀)π‘ž(𝑀)

  28. 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. 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. 30 Our solution: Upper bound 𝑀 AABB Θ e β„Ž π‘₯ (𝑣, 𝑀) 𝑣 𝑣 e 𝑑

  31. 31 Our solution: Upper bound h(g g h M ig 0 M ) π‘₯ 𝑣, 𝑀 < π‘ž 𝑣 𝑀 = j(g h M ig 0 M ) 𝑀 AABB Θ e β„Ž π‘₯ (𝑣, 𝑀) 𝑣 𝑣 e 𝑑

  32. 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. 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. 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. 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. 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. 37 Our solution: Upper bound QR 0,K S T k lmn j lop I lop B = h [qr

  38. 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. 39 Our solution: Light tree

  40. 40 Our solution: Light tree Step 1: Partition the space with sorting

  41. 41 Our solution: Light tree Step 2: Build local light tree that minimize the metric

  42. 42 Our solution: Light tree Step 3: Build final tree with agglomerative process

  43. 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. 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. 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. 46 Results STARCAISE VEACH-LAMP VEACH-LAMP BATHROOM Relative speed-up VRL count VPL count

  47. 47 Summary Contributions: β€’ New bound for VRL cluster β€’ Efficient tree construction β€’ X10 Speedup

  48. 48 Questions ?

Recommend


More recommend