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:
![](http://members.gamedev.net/JasonZ/SSAO/OcclusionBuffer.jpg)
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:
![](http://members.gamedev.net/JasonZ/SSAO/FinalOutput.jpg)
Any comments?
I am quite happy with smoothness and adjustability in the algorithm, and am performing testing on more complex geometry as we speak...