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

β–Ά
scalable virtual ray lights rendering for participating
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 2

MOTIVATION: Surface and Volume interaction

2

slide-3
SLIDE 3

MOTIVATION: Volume interaction only

3

slide-4
SLIDE 4

VOLUMETRIC RENDERING

4

Sensor Image Plane

πœ•

𝑀#(𝑦, πœ•) = )

* +

π‘ˆ

  • (𝑣)𝑀/(𝑦0,πœ•)𝑒𝑣

𝑦0 s

slide-5
SLIDE 5

VOLUMETRIC RENDERING: Rendering techniques

  • Path tracing / Bidirectional path tracing

5

slide-6
SLIDE 6

VOLUMETRIC RENDERING: Many techniques

6

  • Path tracing / Bidirectional path tracing
  • Density estimation:
  • Volumetric Photon Mapping
  • Photon Beam
  • Photon Planes
  • β€œHigher-order geometric primitives”
slide-7
SLIDE 7

VOLUMETRIC RENDERING: Many techniques

7

  • 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”
slide-8
SLIDE 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

8

𝝏

slide-9
SLIDE 9

MANY LIGHTS

9

Virtual point light contribution 𝑀#

345 =

) π‘Šπ‘„π‘€(𝑧, x0 ) |𝑧 βˆ’ 𝑦0|<π‘ž(x0

𝑧 𝑦0

slide-10
SLIDE 10

𝑀#

345 =

) π‘Šπ‘„π‘€(𝑧, x0 ) |𝑧 βˆ’ 𝑦0|<π‘ž(x0 \

MANY LIGHTS

10

∝ 1 𝑧 βˆ’ 𝑦0 <

𝑦0 𝑧

Virtual point light contribution

slide-11
SLIDE 11

MANY LIGHTS

  • VPL vs. short VRL

11

slide-12
SLIDE 12

MANY LIGHTS: VRL

Virtual ray lights contribution

12

𝑀# VRL = )

* +

)

* C

) π‘Šπ‘†π‘€(𝑣, 𝑀 π‘₯ 𝑣, 𝑀 < d𝑀d𝑣 𝑣 𝑀

π‘Šπ‘†π‘€

slide-13
SLIDE 13

MANY LIGHTS: VRL

Virtual ray lights contribution

13

𝑀#

3HI =

) π‘Šπ‘†π‘€(𝑣, 𝑀 ) π‘₯ 𝑣, 𝑀 <π‘ž(𝑣, 𝑀 π‘ž 𝑣, 𝑀 ∝ π‘₯ 𝑣, 𝑀 J< 𝑣 𝑀

π‘Šπ‘†π‘€

slide-14
SLIDE 14

MANY LIGHTS: VRL vs. VPL

14

VRL VPL

Equal rendering time

slide-15
SLIDE 15

MANY LIGHTS

15

Realistic rendering :

  • Unmanageable amount of virtual lights
  • Cost linear with lights
slide-16
SLIDE 16

MANY LIGHTS

16

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] Realistic rendering:

  • Unmanageable amount of virtual lights
  • Cost linear with lights
slide-17
SLIDE 17

SCALABILITY

17

slide-18
SLIDE 18

SCALABILITY

18

INDIVIDUAL LIGHTS

slide-19
SLIDE 19

SCALABILITY

19

CLUSTERS INDIVIDUAL LIGHTS

slide-20
SLIDE 20

SCALABILITY

20

CLUSTERS INDIVIDUAL LIGHTS

slide-21
SLIDE 21

RELATED WORKS

21

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]

slide-22
SLIDE 22

Our solution: Upper bound

22

) 3H5(0,K ) L 0,K MN(0,K < B

B=?

slide-23
SLIDE 23

Our solution: Upper bound Φ𝑔(𝑣, 𝑀): Constant within the VRL cluster

23

QR(0,K)S

T(0)S T(L 0,K )

) L 0,K MN(0,K

< B

slide-24
SLIDE 24

Our solution: Upper bound Φ𝑔(𝑣, 𝑀): Constant within the VRL cluster π‘ˆ

  • (𝑣): Impossible to control, assuming worst case => 1

24

QR(0,K)S

T(0)S T(L 0,K )

) L 0,K MN(0,K

< B

slide-25
SLIDE 25

Our solution: Upper bound Φ𝑔(𝑣, 𝑀): Constant within the VRL cluster π‘ˆ

  • (𝑣): Impossible to control, assuming worst case => 1

π‘ˆ

  • (π‘₯ 𝑣, 𝑀 ): Based on the min distance

=> β„Ž#/V ≀ π‘₯X(𝑣, 𝑀) => π‘ˆ

  • (π‘₯ (𝑣, 𝑀)) < π‘ˆ
  • (β„Ž#/V)

25

AABB β„Ž#/V 𝑀 𝑣 π‘₯ (𝑣, 𝑀)

QR(0,K)S

T(0)S T(L 0,K )

) L 0,K MN(0,K

< B

slide-26
SLIDE 26

Φ𝑔(𝑣, 𝑀): Constant within the VRL cluster π‘ˆ

  • (𝑣): Impossible to control, assuming worst case => 1

π‘ˆ

  • (π‘₯ 𝑣, 𝑀 ): Based on the min distance

=> β„Ž#/V ≀ π‘₯X(𝑣, 𝑀) => π‘ˆ

  • (π‘₯ (𝑣, 𝑀)) < π‘ˆ
  • (β„Ž#/V)

QR(0,K)S

T(0)S T(L 0,K )

) L 0,K MN(0,K

< B

Our solution: Upper bound

26

AABB β„Ž#/V 𝑀 𝑣 π‘₯ (𝑣, 𝑀)

slide-27
SLIDE 27

Our solution: Upper bound

27

π‘₯X 𝑣, 𝑀 <π‘ž 𝑣, 𝑀 =π‘₯X 𝑣, 𝑀 <π‘ž(𝑣|𝑀)π‘ž(𝑀)

slide-28
SLIDE 28

Our solution: Upper bound

Worst case when VRL and sensor ray are parallel. ) π‘ž(𝑀 <

Z 5[\] , with 𝑀#bc the maximum length inside the cluster.

28

π‘₯X 𝑣, 𝑀 <π‘ž 𝑣, 𝑀 =π‘₯X 𝑣, 𝑀 <π‘ž(𝑣|𝑀)π‘ž(𝑀)

slide-29
SLIDE 29

Our solution: Upper bound

Worst case when VRL and sensor ray are parallel. ) π‘ž(𝑀 <

Z 5[\] , with 𝑀#bc the maximum length inside the cluster.

29

π‘₯X 𝑣, 𝑀 <π‘ž 𝑣, 𝑀 =π‘₯X 𝑣, 𝑀 <π‘ž(𝑣|𝑀)π‘ž(𝑀)

slide-30
SLIDE 30

Our solution: Upper bound

30

AABB 𝑀 π‘₯ (𝑣, 𝑀) Θ 𝑣 e β„Ž e 𝑣 𝑑

slide-31
SLIDE 31

Our solution: Upper bound

31

AABB 𝑀 π‘₯ (𝑣, 𝑀) Θ 𝑣 e β„Ž e 𝑣 𝑑

π‘₯ 𝑣, 𝑀 <π‘ž 𝑣 𝑀 =

g h(g hMig 0M) j(g hMig 0M)

slide-32
SLIDE 32

Our solution: Upper bound

32

AABB 𝑀 π‘₯ (𝑣, 𝑀) Θ 𝑣 e β„Ž e 𝑣

π‘₯ 𝑣, 𝑀 <π‘ž 𝑣 𝑀 =

g h(g hMig 0M) j(g hMig 0M)

=

g h j

𝑑

slide-33
SLIDE 33

Our solution: Upper bound

33

AABB β„Ž#/V

π‘₯ 𝑣, 𝑀 <π‘ž 𝑣 𝑀 =

g h(g hMig 0M) j(g hMig 0M)

=

g h j

e β„Ž > β„Ž#/V

𝑑 Θ

slide-34
SLIDE 34

Our solution: Upper bound

34

AABB β„Ž#/V

π‘₯ 𝑣, 𝑀 <π‘ž 𝑣 𝑀 =

g h(g hMig 0M) j(g hMig 0M)

=

g h j

e β„Ž > β„Ž#/V

𝑑 Θ

slide-35
SLIDE 35

Our solution: Upper bound

35

AABB β„Ž#/V

π‘₯ 𝑣, 𝑀 <π‘ž 𝑣 𝑀 =

g h(g hMig 0M) j(g hMig 0M)

=

g h j

e β„Ž > β„Ž#/V

𝑑 Θ#bc

slide-36
SLIDE 36

Our solution: Upper bound

36

AABB β„Ž#/V

π‘₯ 𝑣, 𝑀 <π‘ž 𝑣 𝑀 =

g h(g hMig 0M) j(g hMig 0M)

=

g h j

e β„Ž > β„Ž#/V Θ < Θ#bc

𝑑 Θ#bc

slide-37
SLIDE 37

Our solution: Upper bound

37

B =

QR 0,K S

T klmn jlopIlop

h[qr

slide-38
SLIDE 38

Our solution: Light tree

38

Agglomerative approach [Walter et al. 2008]:

  • Not multithreaded
  • Does not scale with high node overlapping 𝑃(𝑂<)

What we need:

  • Fast/Parallelizable
  • Agglomerative principal
slide-39
SLIDE 39

Our solution: Light tree

39

slide-40
SLIDE 40

Our solution: Light tree

Step 1: Partition the space with sorting

40

slide-41
SLIDE 41

Our solution: Light tree

41

Step 2: Build local light tree that minimize the metric

slide-42
SLIDE 42

Our solution: Light tree

42

Step 3: Build final tree with agglomerative process

slide-43
SLIDE 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

43

slide-44
SLIDE 44

Results

44

Reference VPL LC (1M) 344 secs RMSE: 9.01 SMAPE: 3.25 VRL LC (100k) 370 secs RMSE: 2.70 SMAPE: 4.31 VRL (10k) 323 secs RMSE: 5.46 SMAPE: 9.93

slide-45
SLIDE 45

Results

45

VPL LC (1M) - 147 secs RMSE: 0.33 SMAPE: 2.44 VRL LC (100k) - 121 secs RMSE: 0.01 SMAPE 1.88 VRL (10k) - 147 secs RMSE: 0.05 SMAPE 9.11

0.0 > 0.05 SMAPE

slide-46
SLIDE 46

Results

46

Relative speed-up STARCAISE VEACH-LAMP VEACH-LAMP BATHROOM VRL count VPL count

slide-47
SLIDE 47

Summary

Contributions:

  • New bound for VRL cluster
  • Efficient tree construction
  • X10 Speedup

47

slide-48
SLIDE 48

Questions ?

48