Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

mssao presentation

6,293 views

Published on

  • Be the first to comment

mssao presentation

  1. 1. Multi-Resolution Screen-Space Ambient Occlusion<br />Thai-Duong Hoang<br />Kok-Lim Low<br />National University of Singapore<br />1<br />
  2. 2. Ambient Occlusion (AO)<br />𝐩<br />Β <br />πͺ<br />Β <br />2<br />
  3. 3. AO<br />Cosine-weightedfraction of a tangent hemisphere that is occluded<br />πͺi<br />Β <br />𝐧<br />Β <br />πœ½π’Š<br />Β <br />π’…π’Š<br />Β <br />𝐩<br />Β <br />π‘‘π‘šπ‘Žπ‘₯<br />Β <br />𝐴𝑂𝐩=1πœ‹Ξ©πœŒπ©,𝑑𝑖cosπœƒπ‘–π‘‘π‘€π‘–<br />Β <br />𝑑𝑖β‰₯π‘‘π‘šπ‘Žπ‘₯:𝜌=0𝑑𝑖=0Β Β Β Β Β Β Β Β : 𝜌=1<br />Β <br />3<br />
  4. 4. Screen-Space AO (SSAO)<br />𝐩<br /> <br />Volumetric AO [SKUT10]<br />4<br />
  5. 5. SSAO(Dis)Advantages<br />Inaccurate<br />Local AO<br />Over/underestimated AO<br />Low quality<br />Noise<br />Blur<br />Simple<br />Fast<br />General<br />Easy to integrate<br />5<br />
  6. 6. Multi-Resolution AO (MSSAO)Intuition<br />𝐴𝑂2<br />Β <br />𝐴𝑂1<br />Β <br />𝐴𝑂3<br />Β <br />π΄π‘‚π‘“π‘–π‘›π‘Žπ‘™=max𝐴𝑂𝑖<br />Β <br />6<br />
  7. 7. Multi-Resolution AO (MSSAO)Intuition<br />256x256<br />𝐴𝑂256<br />Β <br />512x512<br />𝐴𝑂512<br />Β <br />1024x1024<br />𝐴𝑂1024<br />Β <br />π΄π‘‚π‘“π‘–π‘›π‘Žπ‘™=fmax𝐴𝑂𝑖,Β averageπ΄π‘‚π‘–π΄π‘‚π‘“π‘–π‘›π‘Žπ‘™β‰₯maxπ΄π‘‚π‘–π΄π‘‚π‘“π‘–π‘›π‘Žπ‘™βˆaverage𝐴𝑂𝑖<br />Β <br />7<br />
  8. 8. MSSAOOverview<br />Geometry<br />g-buffer (1024x1024)<br />Downsample<br />Compute AO<br />(256x256)<br />AO buffer (256x256)<br />g-buffer (256x256)<br />Blur & Upsample<br />g-buffer (512x512)<br />Compute AO<br />(512x512)<br />AO buffer (512x512)<br />Blur & Upsample<br />Compute AO<br />(1024x1024)<br />g-buffer (1024x1024)<br />AO buffer (1024x1024)<br />8<br />
  9. 9. MSSAOAO from Multiple Resolutions<br />9<br />
  10. 10. MSSAOOverview<br />Geometry<br />g-buffer (1024x1024)<br />Downsample<br />Compute AO<br />(256x256)<br />AO buffer (256x256)<br />g-buffer (256x256)<br />Blur & Upsample<br />g-buffer (512x512)<br />Compute AO<br />(512x512)<br />AO buffer (512x512)<br />Blur & Upsample<br />Compute AO<br />(1024x1024)<br />g-buffer (1024x1024)<br />AO buffer (1024x1024)<br />10<br />
  11. 11. MSSAODownsampling<br />𝐩1𝑧≀𝐩2𝑧≀𝐩3𝑧≀𝐩4𝑧<br />if𝐩4π‘§βˆ’π©1𝑧≀𝑑𝑑hπ‘Ÿπ‘’π‘ hπ‘œπ‘™π‘‘<br />𝐩←(𝐩2+𝐩3)/2𝐧←(𝐧2+𝐧3)/2<br />else<br />𝐩←𝐩2𝐧←𝐧2<br />Β <br />𝑝1<br />Β <br />𝑝2<br />Β <br />𝑝<br />Β <br />𝑝3<br />Β <br />𝑝4<br />Β <br />11<br />
  12. 12. MSSAOOverview<br />Geometry<br />g-buffer (1024x1024)<br />Downsample<br />Compute AO<br />(256x256)<br />AO buffer (256x256)<br />g-buffer (256x256)<br />Blur & Upsample<br />g-buffer (512x512)<br />Compute AO<br />(512x512)<br />AO buffer (512x512)<br />Blur & Upsample<br />Compute AO<br />(1024x1024)<br />g-buffer (1024x1024)<br />AO buffer (1024x1024)<br />12<br />
  13. 13. MSSAONeighborhood Sampling<br /><ul><li>Project the AO radius of influence to screen space at each pixel 𝑝 at resolution 𝑅𝑒𝑠𝑖 to get π‘Ÿπ‘–(𝑝) (in terms of pixels)
  14. 14. Cap π‘Ÿπ‘–π‘ to some value π‘Ÿπ‘šπ‘Žπ‘₯ (typical value is 5)</li></ul>Β <br />1024x1024<br />16-point Poisson disk<br />512x512<br />256x256<br />Works well with a 3x3 Gaussian filter<br />13<br />
  15. 15. MSSAOComputing AO<br />Low-variance<br />Cheap<br />Biased<br />πͺi<br />Β <br />𝐧<br />Β <br />πœ½π’Š<br />Β <br />π’…π’Š<br />Β <br />𝐩<br />Β <br />𝐴𝑂(𝐩)=1𝑁𝑖=1π‘πœŒ(𝐩,𝑑𝑖)(π§βˆ™πͺπ‘–βˆ’π©)Β <br />model after the Monte-Carlo approximation of<br />𝐴𝑂𝐩=1πœ‹Ξ©πœŒπ©,𝑑𝑖cosπœƒπ‘–π‘‘πœ”π‘–<br />Β <br />14<br />
  16. 16. MSSAOOverview<br />Geometry<br />g-buffer (1024x1024)<br />Downsample<br />Compute AO<br />(256x256)<br />AO buffer (256x256)<br />g-buffer (256x256)<br />Blur & Upsample<br />g-buffer (512x512)<br />Compute AO<br />(512x512)<br />AO buffer (512x512)<br />Blur & Upsample<br />Compute AO<br />(1024x1024)<br />g-buffer (1024x1024)<br />AO buffer (1024x1024)<br />15<br />
  17. 17. MSSAOBilateral Upsampling<br />Bilinear weights 𝑀𝑏<br />Depth weights<br />𝑀𝑧𝑝𝑖=11+π‘§π‘–βˆ’π‘§π‘‘π‘§<br />Normal weights<br />𝑀𝑛𝑝𝑖=π§βˆ™π§π‘–π‘‘π‘›<br />Β <br />916<br />Β <br />316<br />Β <br />316<br />Β <br />116<br />Β <br />𝐴𝑂𝑝=𝑖=14𝑀𝑏𝑝𝑖𝑀𝑧𝑝𝑖𝑀𝑛𝑝𝑖𝐴𝑂𝑝𝑖<br />Β <br />16<br />
  18. 18. MSSAOCombining AO Values<br />π΄π‘‚π‘“π‘–π‘›π‘Žπ‘™=1βˆ’1βˆ’max𝐴𝑂𝑖1βˆ’avg𝐴𝑂𝑖<br />max𝐴𝑂𝑖and avg𝐴𝑂𝑖are computed by β€œpropagating” appropriate values across resolutions<br />Avoid underestimating AO by ensuringπ΄π‘‚π‘“π‘–π‘›π‘Žπ‘™β‰₯max𝐴𝑂𝑖<br />And a plausible heuristicπ΄π‘‚π‘“π‘–π‘›π‘Žπ‘™βˆavg𝐴𝑂𝑖<br />Β <br />17<br />
  19. 19. MSSAOTemporal Filtering<br />π‘˜=0.5<br />Β <br />π‘˜=0<br />Β <br />π΄π‘‚π‘π‘’π‘Ÿπ‘Ÿ=π‘˜Β π΄π‘‚π‘π‘Ÿπ‘’π‘£+1βˆ’π‘˜π΄π‘‚π‘“π‘–π‘›π‘Žπ‘™<br />Β <br />π‘˜=0<br />Β <br />18<br />
  20. 20. ResultsQuality<br />Blizzard [FM08]<br />MSSAO<br />19<br />
  21. 21. ResultsQuality<br />HBAO [BSD08]<br />MSSAO<br />20<br />
  22. 22. ResultsQuality<br />MSSAO<br />VAO [SKUT10]<br />21<br />
  23. 23. ResultsGround-truth Comparison<br />22<br />MSSAO<br />Blender<br />
  24. 24. ResultsNoise/Blur<br />MSSAO<br />HBAO [BSD08]<br />Blizzard [FM08]<br />23<br />
  25. 25. ResultsMultiple AO Scales<br />Small AO radius<br />MSSAO<br />Large AO radius<br />24<br />
  26. 26. ResultsPerformance<br /><ul><li>Scenes rendered at 1024x1024 on GeForce GTX 460M
  27. 27. Exclusive of geometry pass
  28. 28. The same parameters used to produce the shown images</li></ul>25<br />
  29. 29. MSSAOConclusions<br />Inaccurate<br />Local AO<br />Over/underestimated AO<br />Low quality<br />Noise<br />Blur<br />Use more memory<br />Poor temporal coherence on very thin geometry<br />Not too noticeable<br />Errors due to the use of coarse resolutions<br />Not too noticeable unless compared with ground-truths<br />Simple<br />Fast<br />General<br />Easy to integrate<br />Capture multiple shadow frequencies<br />26<br />
  30. 30. ResultsAdditional Results<br />27<br />
  31. 31. ResultsAdditional Results<br />28<br />
  32. 32. ResultsAdditional Results<br />29<br />
  33. 33. ResultsAdditional Results<br />30<br />
  34. 34. Thank You<br />31<br />

Γ—