Monte Carlo Methods for physically based Volume rendering Monte - - PowerPoint PPT Presentation

monte carlo methods for physically based volume rendering
SMART_READER_LITE
LIVE PREVIEW

Monte Carlo Methods for physically based Volume rendering Monte - - PowerPoint PPT Presentation

Monte Carlo Methods for physically based Volume rendering Monte Carlo Methods for physically based Volume rendering SIGGRAPH 2018 Course SIGGRAPH 2018 Course Advanced methods and acceleration data structures Advanced methods and acceleration


slide-1
SLIDE 1

Monte Carlo Methods for physically based Volume rendering Monte Carlo Methods for physically based Volume rendering SIGGRAPH 2018 Course SIGGRAPH 2018 Course Advanced methods and acceleration data structures Advanced methods and acceleration data structures

Johannes Hanika Karlsruhe Institute of Technology Weta Digital

1

slide-2
SLIDE 2

content content

rainbows and heroes rainbows and heroes

spectral tracking hero wavelengths

emissive volumes emissive volumes

fires, explosions, forward next event estimation

acceleration data structures acceleration data structures

adaptive storage for heterogeneous media

2

slide-3
SLIDE 3

spectral tracking spectral tracking

example material: human skin, insanely complex layered structure expensive to model and trace through

  • en used in graphics: approximate by homogeneous chromatic medium

captures main look features: red blur low path vertex count for more efficient simulation

3

slide-4
SLIDE 4

spectral tracking spectral tracking

a problem oen encountered in skin: chromatic media collision coefficients depend on wavelength for instance free flight distance much longer for long wavelengths: makes path invalid for different wavelength? can we still exploit coherence?

μ λ

4

slide-5
SLIDE 5

spectral tracking spectral tracking

a problem oen encountered in skin: chromatic media collision coefficients depend on wavelength for instance free flight distance much longer for long wavelengths: makes path invalid for different wavelength? can we still exploit coherence?

μ λ

5

slide-6
SLIDE 6

spectral tracking via MIS spectral tracking via MIS

hero wavelength sampling [WND∗14]

450 500 550 600 650 700 450 500 550 600 650 700

sample perfectly for one single wavelength evaluate path for a stratified set of wavelengths at the same time

  • ptimally weighted combination via MIS (balance heuristic)

limited to regular tracking because it requires explicit evaluation of PDF

[WND∗14] Wilkie A., Nawaz S., Droske M., Weidlich A., Hanika J.: Hero wavelength spectral sampling. CGF (Proc. EGSR) 33, 4 (June 2014), 123–131.

λ0 λi f( , ) x ¯ λi p( , ) ∑j x ¯ λj

6

slide-7
SLIDE 7

spectral tracking via MIS spectral tracking via MIS

image comparison 64spp image comparison 64spp

skin material with 1 wavelength

7

slide-8
SLIDE 8

spectral tracking via MIS spectral tracking via MIS

image comparison 64spp image comparison 64spp

skin material with 4 wavelengths (SSE)

8

slide-9
SLIDE 9

spectral tracking via MIS spectral tracking via MIS

image comparison 64spp image comparison 64spp

skin material with 8 wavelengths (AVX) note that all these images are using the exact same paths!

9

slide-10
SLIDE 10

spectral tracking without PDF [KHLN17] spectral tracking without PDF [KHLN17]

sample fictitious event by common majorant how do decide for null collision, scattering, or absorption at next vertex ? probability according to is a normalisation constant such that the sum to one

[KHLN17] Kutz P., Habel R., Li Y. K., Novák J.: Spectral and decomposition tracking for rendering heterogeneous volumes. ACM TOG (Proc. SIGGRAPH) 36, 4 (July 2017)

μ ¯ x P⋆ (x, λ) ∈ (x, λ), (x, λ), (x, λ) μ⋆ μn μs μa (x) = reduce(| (x, λ)|)c P⋆ μ⋆ c P⋆

10

slide-11
SLIDE 11

spectral tracking without PDF [KHLN17] spectral tracking without PDF [KHLN17]

probability according to pick by maximum over (always follow densest material) pick by average weighted by spectral path throughput history

0.0 0.2 0.4 0.6 0.8 1.0

distance

2 3 4 5 6

extinction

µ.red µ.green µ.blue

RGB medium

0.0 0.2 0.4 0.6 0.8 1.0

distance

1 2 3 4 5

throughput.red throughput.green throughput.blue

Maximum

0.0 0.2 0.4 0.6 0.8 1.0

distance

1 2 3 4 5

max throughput

throughput.red throughput.green throughput.blue

History-aware avg.

[KHLN17] Kutz P., Habel R., Li Y. K., Novák J.: Spectral and decomposition tracking for rendering heterogeneous volumes. ACM TOG (Proc. SIGGRAPH) 36, 4 (July 2017)

P⋆ (x, λ) ∈ (x, λ), (x, λ), (x, λ) μ⋆ μn μs μa λi (x) = max(| (x, λ)|)c P⋆ μ⋆ ( , λ) w ¯ x ¯ ( ) = reduce(| ( , λ) (x, λ)|)c P⋆ xj w ¯ x ¯ μ⋆

11

slide-12
SLIDE 12

spectral tracking without PDF [KHLN17] spectral tracking without PDF [KHLN17]

sample by common majorant how do decide for null collision, scattering, or absorption? probability according to , , pick by maximum over pick by average weighted by spectral path throughput history results in different noise patterns:

μ ¯ (λ) μn (λ) μs (λ) μa λi

12

slide-13
SLIDE 13

spectral tracking spectral tracking

a few differences: a few differences:

sampling optimal for hero wavelength sampling carfully balanced for all wavelengths

most important difference: most important difference:

require PDF cannot provide PDF means considering one or the other you need to balance requirements of your system do you need to mix in other importance sampling strategies? for instance equi-angular sampling?

13

slide-14
SLIDE 14

emissive media emissive media

thin/dense media make a difference thin/dense media make a difference

no event inside the medium means we cannot pick up emission:

density

14

slide-15
SLIDE 15

emissive media emissive media

thin/dense media make a difference thin/dense media make a difference

follow the idea of beams, collect emission along a ray particularly well suited for regular tracking, touching all voxels anyways

15

slide-16
SLIDE 16

emissive media emissive media

thin/dense media make a difference thin/dense media make a difference

direct MIS combination with NEE [VH13] introduces noise:

Point + NEE Line + NEE

reason: NEE cannot create paths with end point outside the medium forward scattering PDF is poor, however, and now it picks up line emission!

[VH13] Villemin R., Hery C.: Practical illumination from flames. Journal of Computer Graphics Techniques 2, 2 (2013).

16

slide-17
SLIDE 17

emissive media emissive media

where do the additional firefly samples come from? where do the additional firefly samples come from?

example of a problematic path NEE cannot create these paths forward scattering is same bad as usual, but now has a contribution from the segment!

[SHZD17] Simon F., Hanika J., Zirr T., Dachsbacher C.: Line integration for rendering heterogeneous emissive volumes. CGF (Proc. EGSR) 36, 4 (June 2017).

17

slide-18
SLIDE 18

emissive media emissive media

forward next event estimation (FNEE) forward next event estimation (FNEE)

next event estimation which also considers line emission [SHZD17]:

Point + NEE Line + NEE Line + FNEE

NEE picks point in medium but only uses the direction to it line segment sampling completed by distance sampling

[SHZD17] Simon F., Hanika J., Zirr T., Dachsbacher C.: Line integration for rendering heterogeneous emissive volumes. CGF (Proc. EGSR) 36, 4 (June 2017).

18

slide-19
SLIDE 19

acceleration data structures acceleration data structures

19

slide-20
SLIDE 20

acceleration data structures acceleration data structures

naive grid naive grid

store coefficients per voxel

  • nly single (half) float density

and global cross sections ? If you can! motion blur?

(x, λ) μ⋆ ρ(x) σ⋆

20

slide-21
SLIDE 21

acceleration data structures acceleration data structures

motion blur motion blur

store time resolved volume in 4D [Wre16] rasterise temporal output of simulation directly

[Wre16] Wrenninge M.: Efficient rendering of volumetric motion blur using temporally unstructured volumes. Journal of Computer Graphics Techniques (JCGT) 5, 1 (January 2016), 1–34.

21

slide-22
SLIDE 22

acceleration data structures acceleration data structures

motion blur motion blur

store time resolved volume in 4D [Wre16] Ramer Douglas Peucker line compression per voxel supports non-linear motion for instance up: density , right: time :

ρ(x, t) t

https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm

22

slide-23
SLIDE 23

acceleration data structures acceleration data structures

motion blur motion blur

store time resolved volume in 4D [Wre16] supports non-linear motion better than Eulerian motion blur [KK07]

[Wre16] Wrenninge M.: Efficient rendering of volumetric motion blur using temporally unstructured volumes. Journal of Computer Graphics Techniques (JCGT) 5, 1 (January 2016), 1–34. [KK07] Kim D., Ko H.-S.: Eulerian motion blur. In Eurographics Workshop on Natural Phenomena (2007).

23

slide-24
SLIDE 24

acceleration data structures acceleration data structures

hierarchical grid (aka super voxels [SKTM11]) hierarchical grid (aka super voxels [SKTM11])

hierarchical traversal, local memory access well suited for null collision based trackers: store majorants on coarse grid, fine data on fine level

[SKTM11] Szirmay-Kalos L., Tóth B., Magdics M.: Free path sampling in high resolution inhomogeneous participating media. CGF 30, 1 (2011), 85–97.

24

slide-25
SLIDE 25

acceleration data structures acceleration data structures

regular tracking regular tracking

multi-level 3D DDA/Bresenham to enumerate all voxels pierced by ray example: free flight distance sampling

25

slide-26
SLIDE 26

acceleration data structures acceleration data structures

regular tracking regular tracking

multi-level 3D DDA/Bresenham to enumerate all voxels pierced by ray walk along ray direction

26

slide-27
SLIDE 27

acceleration data structures acceleration data structures

regular tracking regular tracking

multi-level 3D DDA/Bresenham to enumerate all voxels pierced by ray memory access to super voxel block

27

slide-28
SLIDE 28

acceleration data structures acceleration data structures

regular tracking regular tracking

memory access to voxels stored in brick all voxels are typically local in memory now

28

slide-29
SLIDE 29

acceleration data structures acceleration data structures

regular tracking regular tracking

if no intersection is found in this block continue to next block

29

slide-30
SLIDE 30

acceleration data structures acceleration data structures

regular tracking regular tracking

accumulate optical thickness if found free flight distance, sub voxel accuracy by assuming homogeneous voxel

τ ← τ + ρ(x) ⋅ σt τ >= − log (1 − ξ)

30

slide-31
SLIDE 31

acceleration data structures acceleration data structures

null collision tracking null collision tracking

perform regular tracking on the coarse level [SKTM11] start of the algorithm very much the same as regular tracking

31

slide-32
SLIDE 32

acceleration data structures acceleration data structures

null collision tracking null collision tracking

perform regular tracking on the coarse level [SKTM11] accumulate fictitious optical thickness

τ ← τ + (x) ⋅ ρ ¯ σt

32

slide-33
SLIDE 33

acceleration data structures acceleration data structures

null collision tracking null collision tracking

perform regular tracking on the coarse level [SKTM11] if found free flight distance inside this block

τ >= − log (1 − ξ)

33

slide-34
SLIDE 34

acceleration data structures acceleration data structures

null collision tracking null collision tracking

if found free flight distance inside this block find voxel position assuming homogeneous fictitious matter in this block

τ >= − log (1 − ξ) x

34

slide-35
SLIDE 35

acceleration data structures acceleration data structures

null collision tracking null collision tracking

find voxel position assuming homogeneous fictitious matter in this block terminate if actual collision, i.e. (else restart tracking) this last point is critical for performance, we'll get back to this!

x ζ < (x)/ (x) μt μ ¯t

35

slide-36
SLIDE 36

acceleration data structures acceleration data structures

is a uniform grid the best we can do? is a uniform grid the best we can do?

regular tracking: minimise visible integration error: larger voxels in uniform areas, out of frustum, and in depth null collisions: minimise amount of fictitious matter means minimise steps taken until a real event is found end result: fewer, larger voxels in uniform areas, empty space culled away null collisions only care about coarse level

36

slide-37
SLIDE 37

acceleration data structures acceleration data structures

kd-trees kd-trees

space partitioning scheme by finding largest empty rectangle [YIC*11]

[YIC∗11] Yue Y., Iwasaki K., Chen B., Dobashi Y., Nishita T.: Toward optimal space partitioning for unbiased, adaptive free path sampling of inhomogeneous participating media. CGF (Proc. Pacific Graphics) 30, 7 (2011), 1911–1919.

37

slide-38
SLIDE 38

acceleration data structures acceleration data structures

combine super voxels [SKTM11] and kd-trees [YIC∗11] with adaptive blocks adaptivity driven by pixel footprint / camera tessellation heterogeneity / variation just as super voxels: kd nodes store majorants in coarse blocks

μ ¯

38

slide-39
SLIDE 39

acceleration data structures acceleration data structures

combine super voxels [SKTM11] and kd-trees [YIC∗11] with adaptive blocks adaptivity driven by pixel footprint / camera tessellation heterogeneity / variation just as super voxels: kd nodes store majorants in coarse blocks perform regular tracking on coarse blocks [SKTM11]

μ ¯

39

slide-40
SLIDE 40

acceleration data structures acceleration data structures

combine super voxels [SKTM11] and kd-trees [YIC∗11] with adaptive blocks adaptivity driven by pixel footprint / camera tessellation heterogeneity / variation just as super voxels: kd nodes store majorants in coarse blocks perform regular tracking on coarse blocks [SKTM11] access

  • n fine levels to sample collision type

μ ¯ (λ), (λ) μs μa

40

slide-41
SLIDE 41

acceleration data structures acceleration data structures

regular tracking regular tracking

needs to step through every voxel, bad for fine tessellations well chosen tessellation is a big advantage!

distance density distance density

41

slide-42
SLIDE 42

acceleration data structures acceleration data structures

null collision-based tracking null collision-based tracking

independent of tessellation efficient in tightly bounded, thin media (mean free path longer than voxel width)

distance density

42

slide-43
SLIDE 43

acceleration data structures acceleration data structures

null collision-based tracking null collision-based tracking

independent of tessellation inefficient for loose bounds, avoid during hierarchy construction!

distance density distance density

43

slide-44
SLIDE 44

acceleration data structures acceleration data structures

null collision-based tracking null collision-based tracking

independent of tessellation high number of events in dense media, regardless of tessellation!

distance density distance density

accessing the memory within the same voxel is still expensive alleviated by decomposition tracking [KHLN17]

44

slide-45
SLIDE 45

acceleration data structures acceleration data structures

decomposition tracking [KHLN17] decomposition tracking [KHLN17]

separate coefficients into sum of components: coarse voxels for homogeneous parts sparse fine details added on top track through coarse part first and use for early out also profits regular tracking

μ

45

slide-46
SLIDE 46

end of my part end of my part

up next: up next:

Jaroslav to present future work and outlook

46

slide-47
SLIDE 47

47

slide-48
SLIDE 48

summary summary

free flight distance sampling free flight distance sampling

woodcock/delta tracking

transmittance estimation transmittance estimation

track-length residual ratio free flight versions

path sampling path sampling

path space formulation summary of advanced methods

acceleration structures acceleration structures

for regular tracking for null collisions (bottom-level)

48

slide-49
SLIDE 49
  • pen research problems
  • pen research problems

null collision algorithms and MIS null collision algorithms and MIS

missing link to integrate into powerful framework for instance combine with equi-angular sampling can we estimate the PDF? expectation and division do not commute!

X = f( ) x ¯ p( ) x ¯

49

slide-50
SLIDE 50
  • pen research problems
  • pen research problems

leverage recent advances in machine learning leverage recent advances in machine learning

special purpose denoising including a volume prior? path guiding for volumes? joint importance sampling for multiple vertices?

50

slide-51
SLIDE 51
  • pen research problems
  • pen research problems

joint handling of surfaces and geometry joint handling of surfaces and geometry

still oen surface transport is handled separately makes inclusion of all interreflections hard custom-cut algorithms increase maintenance cost represent surfaces as volumes, too? and then ideally jointly downscale for LOD!

51

slide-52
SLIDE 52
  • pen research problems
  • pen research problems

generalisation to correlated scatterers generalisation to correlated scatterers

core assumption of exponential path length: uncorrelated particles! particle repulsion such as in cell growth is very correlated really, no collision can be found inside the current particle (min distance) some existing work [d'Eon 2018, Jarabo et al. 2018, Bitterli et al. 2018]

52

slide-53
SLIDE 53

thank you! thank you!

any questions? any questions? acknowledgements: acknowledgements:

Peter Kutz for tracing down many of early delta tracking papers reviewers for feedback on the paper dra Maurizio Nitti for help w/ illustrations

53