Jump to content



  • You cannot edit this iotd

Multi-Resolution Screen-Space Ambient Occlusion  by ilovekonoka    -----

 



Time Spent: 1 year, on and off
Date Added: Jun 25 2011 07:17 AM

Hi,

Here's a new SSAO method which we call MSSAO that computes AO at different resolutions and combine the partial AO values to get the final result. The figure below can help explain the idea.

Attached Image: ao_combine.png


At each resolution, the kernel size is small so we can avoid noise/blur artifacts. Also, this method does not blur at the final resolution like most other SSAO methods, so sharp details are captured. Unlike existing SSAO methods, MSSAO can capture both high and low frequency shadows due to local and distant occluders respectively.

MSSAO's performance is slightly better than Blizzard's SSAO and Volumetric AO (sorry I haven't compared it with more recent ones, such as Alchemy AO). Using a small kernel size at each resolution and avoiding the final blur pass help achieving good framerates (~ 22 ms per frame at 1024x1024 on the GTX 460M, for comparison, NVIDIA's HBAO takes ~ 50 ms per frame on the same hardware).

More details can be found in a paper on my website. There you can also find the source code of the project.

Some screenshots below.

Attached Image: ChristmasChallenge3.png
Attached Image: FilmNoirChallenge.png
Attached Image: NeonChrome.png

Attached Image: LocalTrain_Scene.png
Attached Image: ScienceFictionChallenge.png
Attached Image: TheShopGirls.png
 
C++, OpenGL, GLSL


  • You cannot edit this iotd

Share:


5 Comments

Wow, very sleek results. In fact, this looks pretty much as perfect as it could get, with all the bluriness and noisiness finally gone. On a side note, the top-most two resolution levels seem to be suffering a bit from some kind of aliasing amplification, but this has clearly not been the scope of your work. Thanks for sharing!
  • Quote
Awesome! I've been wanting to do this myself since I first read about SSAO although it always took a back seat to other things. I'm surprised this is the first time I've seen someone try it. Looks better than I could have expected. Now apply it to http://www.mpi-inf.m...Papers/SSDO.pdf :D
  • Quote
Very clever and simple approach, best ssao I've seen so far. Congrats!
  • Quote
Thanks for the comments. Glad you guys like it.

Something like MSSDO may be interesting =) However I believe screen-space tricks like this or even ambient occlusion are going out of fashion very soon. We should aim for more physically correct *real-time* rendering...
  • Quote
Awesome results!

However, these methods using ~30 to ~40 samples per fragment are only really usable on beefy new hardware (i.e. not your 8600M, or a current-gen console). It'd be interesting to see how the quality of current-gen techniques are improved with the use of multiple resolutions...
  • Quote

or Sign In


PARTNERS