Jump to content
  • Advertisement
  • entries
  • comments
  • views

SSAO in DX10

Sign in to follow this  
Jason Z


SSAO Revisited
After spending some time updating my SSAO code to run in DX10, I have actually improved my implementation quite a bit. It's now slightly more efficient, and I think the quality is significantly improved. I wanted to show a simple example of what I have been working on, so here's a sample image of just a cube being rendered into the occlusion buffer:

This buffer is then used to generate the final image. This image is directly using the occlusion buffer with only a single bilinear sample - there is still some small 'graininess' but that could easily be removed (if necesary) with a couple more samples per pixel. This image shows the cube with only a green ambient term modulated by the occlusion values:

Any comments?

I am quite happy with smoothness and adjustability in the algorithm, and am performing testing on more complex geometry as we speak...
Sign in to follow this  


Recommended Comments

Maybe I've just been hiding under a rock, but I still don't know what the point of SSAO is. What effect is it supposed to achieve?

Share this comment

Link to comment
It is supposed to alter the ambient term based on the object immediately surrounding an object. This has been implemented in many different ways, usually a preprocess (i.e. not dynamic) for certain situations. SSAO uses the scene depth information to approximate a true occlusion test. So it's fast, uses existing buffers (i.e. the Z-buffer) and produces pretty good quality images.

The cube is a bit of a special case because of the sharpness of the object. I'll post more screens later on as I get more complex geometry in the system...

Share this comment

Link to comment
Implementation looks good to me, but I generally think that SSAO looks much better on a more complex set of geometry. Simple things like the utah teapot or a cube don't really seem to do it justice.

Also, the graininess can work well in 'natural' images where you're almost effectively getting a free dirt/detail map thrown in. Provided you're not rendering smooth glossy surfaces of course [grin]

Keep up the good work,

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!