real time volumetric shadows using 1d min max mipmaps
play

Real-Time Volumetric Shadows using 1D Min-Max Mipmaps - PowerPoint PPT Presentation

Real-Time Volumetric Shadows using 1D Min-Max Mipmaps Jiawen Kevin Chen Ilya Baran Frdo Durand Wojciech Jarosz MIT CSAIL Disney Research


  1. Real-­‑Time ¡Volumetric ¡Shadows ¡ using ¡1D ¡Min-­‑Max ¡Mipmaps ¡ Jiawen ¡“Kevin” ¡Chen ¡ Ilya ¡Baran ¡ Frédo ¡Durand ¡ Wojciech ¡Jarosz ¡ MIT ¡CSAIL ¡ Disney ¡Research ¡Zürich ¡ 1 ¡

  2. Volumetric ¡scaNering ¡with ¡shadows ¡ Photo ¡by ¡Frédo ¡Durand ¡ 2 ¡

  3. Alan ¡Wake ¡by ¡Remedy ¡Entertainment ¡ 3 ¡

  4. 4 ¡

  5. 6 ¡

  6. Related ¡work ¡ • AnalyWcal ¡scaNering ¡models ¡ [Sun ¡et ¡al. ¡2005], ¡ [Pegoraro ¡et ¡al. ¡2009, ¡2010] ¡ ¡ Sun ¡et ¡al. ¡[2005] ¡ – Sky ¡lighWng, ¡bloom ¡near ¡ light ¡sources, ¡aNenuaWon ¡ – Doesn’t ¡account ¡for ¡visibility ¡ Pegoraro ¡et ¡al. ¡[2010] ¡ 8 ¡

  7. Related ¡work ¡ • Max ¡[1986] ¡ – AnalyWcal ¡integraWon ¡ • Wyman ¡and ¡Ramsey ¡[2008] ¡ – Ray ¡marching ¡along ¡intervals ¡ • Engelhardt ¡and ¡Dachsbacher ¡ [2010] ¡ – Detect ¡disconWnuiWes, ¡ subsample ¡and ¡interpolate ¡ 9 ¡

  8. Related ¡work ¡ • Billeter ¡et ¡al. ¡[2010] ¡ – Interpret ¡shadow ¡map ¡ as ¡a ¡height ¡field ¡ – Rasterize ¡height ¡field ¡ and ¡analyWcally ¡accumulate ¡ scaNering ¡integral ¡ – Vertex ¡and ¡ fragment ¡overhead ¡ • We ¡ray ¡trace ¡instead ¡ 10 ¡

  9. Incremental ¡integraWon ¡ [Baran ¡et ¡al. ¡2010] ¡ • Epipolar ¡recWficaWon ¡ • SVD ¡approximaWon ¡for ¡ smooth, ¡non-­‑analyWc ¡ integrands ¡ • ParWal ¡sum ¡trees ¡ ~ ¡ 11 ¡

  10. Overview ¡ • Review ¡of ¡epipolar ¡geometry ¡ and ¡visibility ¡integraWon ¡ ¡ ¡ • Min-­‑max ¡mipmap ¡data ¡structure ¡ • Results ¡and ¡discussion ¡

  11. Epipolar ¡recWficaWon ¡ ¡ n o W c e r i d ¡ t h g i L Eye ¡ Epipolar ¡slices ¡ 13 ¡

  12. Epipolar ¡recWficaWon ¡ 14 ¡

  13. d ¡ r ¡ 15 ¡

  14. 16 ¡

  15. 8 ¡ 2 ¡ 5 ¡ Brute ¡force ¡ complexity: ¡ O(rd) ¡ 17 ¡

  16. Visibility ¡integraWon ¡revisited ¡ View ¡ray: ¡ y ¡= ¡5, ¡x ¡= ¡9 ¡ 18 ¡

  17. Height ¡field ¡intersecWon ¡ View ¡ray: ¡ y ¡= ¡5, ¡x ¡= ¡9 ¡

  18. 1D ¡Min-­‑Max ¡Mipmap ¡ • Binary ¡tree ¡of ¡shadow ¡map ¡depths ¡ – Each ¡node ¡stores ¡ min ¡and ¡ max ¡of ¡children ¡ 1 ¡ 9 ¡ 1 ¡ 6 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 6 ¡ 7 ¡ 9 ¡ 3 ¡ 9 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 3 ¡ 9 ¡ 6 ¡ 7 ¡ 9 ¡ 20 ¡

  19. Mipmap ¡traversal ¡ View ¡ray: ¡ y ¡= ¡5, ¡x ¡= ¡9 ¡ 21 ¡

  20. Mipmap ¡traversal ¡ • View ¡ray: ¡y ¡= ¡5, ¡x ¡= ¡9 ¡ Sum ¡= ¡0 ¡ 1 ¡ 9 ¡ 1 ¡ 6 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 6 ¡ 7 ¡ 9 ¡ 3 ¡ 9 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 3 ¡ 9 ¡ 6 ¡ 7 ¡ 9 ¡ 22 ¡

  21. Mipmap ¡traversal ¡ • View ¡ray: ¡y ¡= ¡5, ¡x ¡= ¡9 ¡ y: ¡1 ¡≤ ¡5 ¡< ¡9 ¡ Sum ¡= ¡0 ¡ 1 ¡ 9 ¡ 1 ¡ 6 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 6 ¡ 7 ¡ 9 ¡ 3 ¡ 9 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 3 ¡ 9 ¡ 6 ¡ 7 ¡ 9 ¡ 23 ¡

  22. Mipmap ¡traversal ¡ • View ¡ray: ¡y ¡= ¡5, ¡x ¡= ¡9 ¡ Sum ¡= ¡0 ¡ 1 ¡ 9 ¡ y: ¡1 ¡≤ ¡5 ¡< ¡9 ¡ 1 ¡ 6 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 6 ¡ 7 ¡ 9 ¡ 3 ¡ 9 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 3 ¡ 9 ¡ 6 ¡ 7 ¡ 9 ¡ 24 ¡

  23. Mipmap ¡traversal ¡ • View ¡ray: ¡y ¡= ¡5, ¡x ¡= ¡9 ¡ Sum ¡= ¡0 ¡ 1 ¡ 9 ¡ 1 ¡ 6 ¡ 9 ¡ 9 ¡ y: ¡2 ¡≤ ¡5 ¡< ¡9 ¡ 2 ¡ 1 ¡ 6 ¡ 7 ¡ 9 ¡ 3 ¡ 9 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 3 ¡ 9 ¡ 6 ¡ 7 ¡ 9 ¡ 25 ¡

  24. Mipmap ¡traversal ¡ • View ¡ray: ¡y ¡= ¡5, ¡x ¡= ¡9 ¡ Sum ¡= ¡1 ¡ 1 ¡ 9 ¡ 1 ¡ 6 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 6 ¡ 7 ¡ 9 ¡ 3 ¡ 9 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 3 ¡ 9 ¡ 6 ¡ 7 ¡ 9 ¡ y: ¡5 ¡< ¡9, ¡lit ¡ 26 ¡

  25. Mipmap ¡traversal ¡ • View ¡ray: ¡y ¡= ¡5, ¡x ¡= ¡9 ¡ Sum ¡= ¡1 ¡ 1 ¡ 9 ¡ 1 ¡ 6 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 6 ¡ 7 ¡ 9 ¡ 3 ¡ 9 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 3 ¡ 9 ¡ 6 ¡ 7 ¡ 9 ¡ y: ¡5 ¡> ¡2, ¡shadowed ¡ 27 ¡

  26. Mipmap ¡traversal ¡ • View ¡ray: ¡y ¡= ¡5, ¡x ¡= ¡9 ¡ Sum ¡= ¡1 ¡ 1 ¡ 9 ¡ 1 ¡ 6 ¡ 9 ¡ 9 ¡ y: ¡5 ¡> ¡3, ¡shadowed ¡ 2 ¡ 1 ¡ 6 ¡ 7 ¡ 9 ¡ 3 ¡ 9 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 3 ¡ 9 ¡ 6 ¡ 7 ¡ 9 ¡ 28 ¡

  27. Mipmap ¡traversal ¡ • View ¡ray: ¡y ¡= ¡5, ¡x ¡= ¡9 ¡ Sum ¡= ¡5 ¡ 1 ¡ 9 ¡ y: ¡5 ¡< ¡6, ¡lit ¡ 1 ¡ 6 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 6 ¡ 7 ¡ 9 ¡ 3 ¡ 9 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 3 ¡ 9 ¡ 6 ¡ 7 ¡ 9 ¡ 29 ¡

  28. Textured ¡lights ¡and ¡aNenuaWon ¡ Light ¡texture ¡ 0.8 ¡ 0.1 ¡ 0.5 ¡ 0.3 ¡ 0.2 ¡ 1 ¡ 0.8 ¡ 0.4 ¡ 1 ¡ Light ¡ aNenuaWon ¡ 0.9 ¡ 0.8 ¡ 0.6 ¡ 0.5 ¡ 0.4 ¡ 0.3 ¡ 0.3 ¡ 30 ¡

  29. Textured ¡lights ¡using ¡prefix ¡sums ¡ Light ¡texture ¡ 0.8 ¡ 0.1 ¡ 0.5 ¡ 0.3 ¡ 0.2 ¡ 1 ¡ 0.8 ¡ 0.4 ¡ Light ¡CDF ¡ 0 ¡ 0.8 ¡ 0.9 ¡ 1.4 ¡ 1.7 ¡ 1.9 ¡ 2.9 ¡ 3.7 ¡ 4.1 ¡ 1 ¡ 9 ¡ Range: ¡[4,8) ¡ 1 ¡ 6 ¡ 6 ¡ 9 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 6 ¡ 7 ¡ 9 ¡ 3 ¡ 9 ¡ 9 ¡ 9 ¡ 2 ¡ 1 ¡ 3 ¡ 9 ¡ 6 ¡ 7 ¡ 9 ¡ 31 ¡

  30. SVD ¡approximaWon ¡ + ¡ + ¡ = ¡ ~ ¡ + ¡ A ¡ U ¡ SV T ¡ 32 ¡

  31. Min-­‑Max ¡Mipmap ¡vs. ¡ ParWal ¡Sum ¡Tree ¡ [Baran ¡et ¡al. ¡2010] ¡ 1 ¡ 4 9 1 6 ¡ ¡ 2 2 9 9 2 1 6 7 ¡ ¡ ¡ ¡ 2 0 1 1 9 3 9 9 9 2 1 3 9 6 7 9 1 1 0 0 1 0 1 0 • StaWc ¡ • Dynamic ¡ • Stores ¡shadow ¡map ¡ • Stores ¡interval ¡sums ¡ structure ¡ computed ¡ so ¡far ¡ 33 ¡

  32. Equal ¡Wme ¡comparison: ¡ Sibenik ¡ Screen ¡resoluWon: ¡1280 ¡x ¡960 ¡ Shadow ¡map ¡resoluWon: ¡4096 ¡x ¡4096 ¡ NVIDIA ¡GeForce ¡480 ¡GTX ¡ Ray ¡marching ¡at ¡11 ¡ms ¡ Our ¡method ¡at ¡11 ¡ms ¡ 34 ¡

  33. Performance ¡comparison ¡(lower ¡is ¡beNer) ¡ DirecWonal ¡light, ¡4K ¡shadow ¡map ¡ 350 ¡ 286 ¡ 300 ¡ Ray ¡marching ¡ 250 ¡ Run1me ¡(ms) ¡ [Engelhardt ¡and ¡ 200 ¡ Dachsbacher ¡2010] ¡ 150 ¡ [Baran ¡et ¡al. ¡2010] ¡ 113 ¡ 100 ¡ 78 ¡ Our ¡method ¡ 43 ¡ 43 ¡ 39 ¡ 50 ¡ 31 ¡ 29 ¡ 24 ¡ 11 ¡ 7 ¡ 0 ¡ Sibenik ¡ Trees ¡ Terrain ¡

  34. Performance ¡vs. ¡Billeter ¡et ¡al. ¡[2010] ¡ Spotlight, ¡4K ¡shadow ¡map ¡ 100 ¡ 93.2 ¡ 90 ¡ 80 ¡ 70 ¡ Run1me ¡(ms) ¡ 60 ¡ [Billeter ¡et ¡al. ¡2010] ¡ 50 ¡ 38.2 ¡ Our ¡method ¡ 40 ¡ 28.1 ¡ 26 ¡ 30 ¡ 20 ¡ 12.5 ¡ 9 ¡ 10 ¡ 0 ¡ Sibenik ¡ Trees ¡ Terrain ¡ 36 ¡

  35. 37 ¡

  36. Discussion ¡ 1 ¡ 9 ¡ • Compared ¡to ¡Billeter ¡et ¡al. ¡[2010] ¡ 1 ¡ 6 ¡ – Do ¡not ¡need ¡explicit ¡ 9 ¡ 9 ¡ height ¡field ¡geometry ¡ 2 ¡ 1 ¡ 6 ¡ 7 ¡ 9 ¡ 3 ¡ 9 ¡ 9 ¡ – One ¡fragment ¡per ¡pixel ¡ 9 2 1 3 9 6 7 9 – No ¡processing ¡for ¡occluded ¡ light-­‑shadow ¡transiWons ¡ ¡ • Compared ¡to ¡Baran ¡et ¡al. ¡[2010] ¡ – StaWc ¡data ¡structure ¡ – Parallel ¡queries ¡ – Pixel ¡shaders ¡only ¡ 38 ¡ 38 ¡ 38 ¡

  37. Conclusions ¡and ¡future ¡work ¡ • Volumetric ¡shadows ¡ ¡ pracWcal ¡for ¡games ¡ • GPU ¡algorithm ¡design ¡ tradeoffs ¡ • Inhomogeneous ¡media ¡ Photo ¡by ¡Flickr ¡user ¡visualparadox ¡ 39 ¡

Recommend


More recommend