a hierarchical volumetric shadow algorithm for single scattering ilya baran, jiawen chen, jonathan...
TRANSCRIPT
- Slide 1
- A Hierarchical Volumetric Shadow Algorithm for Single Scattering Ilya Baran, Jiawen Chen, Jonathan Ragan-Kelley, Frdo Durand, Jaakko Lehtinen Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology
- Slide 2
- Volumetric scattering with shadows Photo by Frdo Durand
- Slide 3
- Alan Wake by Remedy Entertainment
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Related work Ray marching (brute force) Analytical scattering models Sky lighting, bloom, etc. Doesnt account for visibility Sun et al. [2005]
- Slide 9
- Shadow volume methods Max [1986] Analytical integration Wyman and Ramsey [2008] Ray marching along intervals
- Slide 10
- Related work Engelhardt and Dachsbacher [2010] Detect discontinuities, subsample and interpolate Performance depends on occluder complexity Epipolar geometry Detected discontinuties Engelhardt and Dachsbacher [2010]
- Slide 11
- Overview Incremental integration Approximating single scattering Epipolar rectification ~
- Slide 12
- Simplified scenario Orthographic camera Light direction perpendicular to view direction Visibility only
- Slide 13
- r d
- Slide 14
- Slide 15
- 7 5 Brute force complexity: O(rd) 1
- Slide 16
- 7 5 5 1
- Slide 17
- 1111111 Bit mask Process top down incrementally
- Slide 18
- 7 1111111 Bit mask
- Slide 19
- 7 1 1111111
- Slide 20
- 7 1 1111111
- Slide 21
- 7 1 1001111
- Slide 22
- 7 1 5 1001111
- Slide 23
- 7 1 5 Bit mask algorithm complexity: O(rd) 5 2 2 3 1001111 Bit mask
- Slide 24
- Partial sum trees Binary tree Each node stores sum of children 4 22 2011 11001010
- Slide 25
- Tree update 4 22 2011 11000010
- Slide 26
- 4 22 2001 11000010
- Slide 27
- 4 21 2001 11000010
- Slide 28
- 3 21 2001 11000010
- Slide 29
- Tree query 3 2 1 2001 11000010 = 3
- Slide 30
- Complexity 2D Brute force: O(rd) Incremental with bit mask: O(rd) Incremental with tree: O( (r+d) log d ) 3D: s independent slices Brute force: O(srd) Incremental with tree: O( s (r+d) log d )
- Slide 31
- Textured lights 0.80.10.50.30.210.8 Light texture 1 0.9 0.8 0.6 0.5 0.4 0.3 Light attenuation
- Slide 32
- SVD approximation ~ AUSV T = + + +
- Slide 33
- Epipolar rectification Light direction Epipolar slices Eye
- Slide 34
- Epipolar coordinates Point light Directional light
- Slide 35
- Depth map resampling Camera depth map Light depth map Rectify Corresponding epipolar slice
- Slide 36
- 9.9 sec (17.1x)169 sec Equal quality comparison: Sibenik Our methodRay marching
- Slide 37
- Our methodRay marching Equal quality comparison: Terrain 1.3 sec (41.5x)54 sec
- Slide 38
- Equal quality comparisons: Trees Our methodRay marching 2.3 sec (120.4x)277 sec
- Slide 39
- Slide 40
- GPU Performance on Sibenik
- Slide 41
- GPU Performance on Trees
- Slide 42
- Limitations and future work Non-homogeneous media All points in volume must be visited SVD will have high rank GPU performance Dynamic data structure: limited parallelism Bandwidth intensive Requires CUDA, not suitable for consoles
- Slide 43
- Summary Hierarchical volumetric shadow algorithm with complexity guarantees Significant speedups on CPUs Moderately faster than state-of-the art on GPUs
- Slide 44
- GPU Performance on Sibenik