1 of 34

Real-time Indirect Illumination of Emissive�Inhomogeneous Volumes using Layered Polygonal Area Lights

1

1

Takahiro Kuge Tatsuya Yatagawa†† Shigeo Morishima

Waseda University

††The University of Tokyo

PACIFIC

GRAPHICS

2 of 34

Our Goal

2

Reflection of volume

(Indirect Illumination)

3 of 34

Our Goal

3

Arbitrary roughness

Arbitrary shape

4 of 34

Our Goal

4

Arbitrary roughness

Arbitrary shape

Please refer to our demo movie for Sponza result!

5 of 34

Our Motivation

5

Entire body of the volume is reflected

No longer the same appearances

Real world

Interactive Application

[2] “ACE COMBAT 7 SKIES UNKNOWN”, BANDAI NAMCO Entertainment

6 of 34

Previous Works

6

Offline rendering

・Volumetric path tracing (ex. Woodcock tracking [4])

・Volumetric photon mapping [5]

Real-time rendering

・Simulate light diffusion in volume [6]

e.g., Light propagation volume [7]

[4] Woodcock et al., “Techniques used in GEM code for Monte Carlo neutronics calculation”, Conf. Applications of Computing Methods to Reactors, 1965.

[5] Jensen et al., “Volumetric photon mapping”, SIGGRAPH, 1998.

[6] Stam, “Multiple Scattering as a Diffusion process”, Rendering Techniques, 1995.

[7] Kaplanyan et al., “Cascaded Light Propagation Volumes for Real-time Indirect Illumination”, I3D, 2010.

Too complex for real-time applications

Renders only directly visible volume

[4]

[5]

[7]

Real-time Indirect Illumination of volumes is not yet well established

7 of 34

Difficulties of Indirect Illumination

7

Direct Illumination

Viewer

Reflective surface

Image plane

Volume

Evaluate incident radiance along rays (Ray marching)

1 ray for 1 pixel

8 of 34

Difficulties of Indirect Illumination

8

Indirect Illumination

Evaluate radiance from “whole volume” to “every surface point”

 

Reflective surface

BRDF lobe

Viewer

Volume

Image plane

Multiple rays for 1 pixel

9 of 34

Indirect Illumination using LPAL

9

Radiance from the whole volume

Incident radiance from LPALs

LPALs

“Layered Polygonal Area Lights”

Volume slicing

Cutting section is an area light

Volume consists of multiple area lights

Our approach

Volume

(3D texture)

 

Approximate volume as a set of parallel area lights

10 of 34

LPALs to Slice

10

Out-of-slice attenuation

Slice

Out-of-slice attenuation

 

Light attenuation by frontal regions

Slices are occluded by regions at front

Slice-based calculation by filling the gap between LPALs

11 of 34

LPALs to Slice

11

Slice

Out-of-slice attenuation

Out-of-slice attenuation

 

Light attenuation by frontal regions

Slices are occluded by regions at front

Slice-based calculation by filling the gap between LPALs

12 of 34

Integration for Slice

12

 

 

 

 

 

 

Slice-based calculation by filling the gap between LPALs

13 of 34

Integration for Slice

13

 

In-slice

attenuation

 

 

 

 

 

 

Function of normalized distance

Slice-based calculation by filling the gap between LPALs

14 of 34

Integration for Slice

14

 

In-slice

attenuation

 

 

 

 

 

Slice-based calculation by filling the gap between LPALs

 

 

Ext. coeff. :

Radiance :

15 of 34

Integration for Slice

15

 

 

In-slice

attenuation

 

 

 

 

 

Slice-based calculation by filling the gap between LPALs

 

Ext. coeff. :

Radiance :

Compute instantly by recent studies [8][9]

[8] Heitz et al. “Real-Time Polygonal-Light Shading with Linearly Transformed Cosines”, SIGGRAPH, 2016.

[9] Heitz et al. “Linear-light Shading with Linearly Transformed Cosines”, GPU ZEN, 2017.

16 of 34

Integration for Slice

16

 

 

Ext. coeff. :

Radiance :

 

 

 

 

 

Slice

 

 

Slice-based calculation by filling the gap between LPALs

17 of 34

Combining Radiance and Attenuation

17

Out-of-slice attenuation

 

Out-of-slice attenuation

Light attenuation by frontal regions

Slices are occluded by regions at front

Slice-based calculation by filling the gap between LPALs

Slice

18 of 34

Combining Radiance and Attenuation

18

Slice

Out-of-slice attenuation

 

Out-of-slice attenuation

Light attenuation by frontal regions

Slices are occluded by regions at front

Slice-based calculation by filling the gap between LPALs

Final contribution from a slice

 

 

 

Attenuated

radiance

 

19 of 34

Gathering Contributions

19

Slice

Attenuated

radiance

 

 

 

 

Out-of-slice attenuation

Out-of-slice attenuation

Light attenuation by frontal regions

Slices are occluded by regions at front

 

Summation of contribution from slices

Slice-based calculation by filling the gap between LPALs

Evaluate in front-to-back order

20 of 34

Gathering Contributions

20

Slice

Attenuated

radiance

Out-of-slice attenuation

 

 

 

 

Light attenuation by frontal regions

Slices are occluded by regions at front

Out-of-slice attenuation

 

Slice-based calculation by filling the gap between LPALs

Summation of contribution from slices

Evaluate in front-to-back order

21 of 34

Gathering Contributions

21

Slice

Attenuated

radiance

 

 

 

 

Out-of-slice attenuation

Light attenuation by frontal regions

Slices are occluded by regions at front

Out-of-slice attenuation

 

Slice-based calculation by filling the gap between LPALs

Summation of contribution from slices

Evaluate in front-to-back order

22 of 34

Gathering Contributions

22

Slice #2

Attenuated

radiance

 

 

 

 

Slice-based calculation by filling the gap between LPALs

#1

Calculation of out-of-slice atte.

Out-of-slice attenuation

In-slice attn. (#2)

Out. attn. (#1)

23 of 34

Gathering Contributions

23

 

 

 

 

Slice-based calculation by filling the gap between LPALs

Calculation of out-of-slice atte.

In-slice attn. (#2)

Attenuated

radiance

Out-of-slice attenuation

#2

#1

Slice #3

Out. attn. (#1)

24 of 34

Gathering Contributions

24

 

 

 

 

Slice-based calculation by filling the gap between LPALs

Calculation of out-of-slice atte.

=

Attenuated

radiance

Out-of-slice attenuation

#2

#1

Slice #3

In-slice attn. (#2)

Out. attn. (#1)

 

25 of 34

Gathering Contributions

25

 

 

 

 

Slice-based calculation by filling the gap between LPALs

Calculation of out-of-slice atte.

In-slice attn. (#3)

In-slice attn. (#2)

Out. attn. (#1)

 

Attenuated

radiance

Out-of-slice attenuation

#2

#1

Slice #3

26 of 34

Gathering Contributions

26

 

 

 

 

Slice-based calculation by filling the gap between LPALs

Calculation of out-of-slice atte.

Attenuated

radiance

Out-of-slice attenuation

#2

#1

Slice #4

#3

In-slice attn. (#3)

Out. attn. (#2)

 

=

=

In-slice attn. (#2)

Out. attn. (#1)

 

27 of 34

Results and Performance

27

 

Reflection on surface with arbitrary roughness

 

 

Volume

(Ray marching)

Reflective surface

28 of 34

Results and Performance

28

Time (ms)

5.38

6.57

8.81

12.74

fps

186

152

114

78

 

Performance in Sponza scene

Direct : 4.72%

Filtering : 6.15%

Indirect : 89.13%

(our method)

29 of 34

Results and Performance

29

Reflection with opaque obstacle

Variations : Occluded volume

Obstacle

Obstacle : Optically dense volume

 

Surface

Viewer

Please refer to our demo movie!

30 of 34

Results and Performance

30

Reflection of multiple volumes

Variations : Multiple volumes

Surface

Viewer

#1

#2

Slice the volumes in order (#1, then #2)

 

#2 is occluded by #1

(Radiance from #2 is influenced by #1)

Please refer to our demo movie!

31 of 34

Results and Performance

31

Insufficient tail

Brightness error

Insufficient tail

Brightness error

・3D isotropic gaussian filtered MIP map

・Access higher MIP-level for rougher surface

Limitation

Area light

2D filter

Filter over the light

LPAL

3D filter

Filter leakage

32 of 34

Conclusion

32

Indirect illumination using Layered Polygonal Area Lights

・Approximate volume as a set of parallel area lights (LPALs)

→ Real-time indirect illumination for arbitrary surface

Slice

LPALs

Fill the gap

Sum up

33 of 34

Conclusion

33

Future work

 Adaptive slicing depending on the position of reflection

 

Other parts

Visually rich part

 

 

 

 

Indirect illumination using Layered Polygonal Area Lights

・Approximate volume as a set of parallel area lights (LPALs)

→ Real-time indirect illumination for arbitrary surface

34 of 34

34

Thank you for your attention!

MAIL : takahirolabo@gmail.com

HP : https://tatsy.github.io/projects/lpal19/

(Paper, source code and demo movie are available)