Ive read a few articles about SSAO, and i would like to implement it in to 3d engine at work, which runs on top of DX9. Can you give me an tips on getting the simplest implementation possible up and running using shader model 3, and how would you upgrade this implementation over time to tackle artefacts like haloing?
Check out this simple fragment shader implementation with explanation on why's and how's http://www.coniserver.net/wiki/index.php/Screen_Space_Ambient_Occlusion_Shader Although it is fragment/GL and not D3d9, it's simple as it gets, so you should be able to understand what you need to do.
A talented programmer (Iq from from rgba) has written good articles:
- ssao: http://www.iquilezles.org/www/articles/ssao/ssao.htm
- global illumination: http://www.iquilezles.org/www/articles/simplegi/simplegi.htm
- ambient illumination: http://www.iquilezles.org/www/articles/ao/ao.htm