Download:
Deprecated! Use the XEffects 1.1 and higher SSAO
I just wrapped my working directory, so the executable works, but you have to use your own Irrlicht library for linking.
'O' - turns on SSAO modulation
'P' - turns off
Screenshots:
As you can see, there are some noticeable places that should be receiving ambient occlusion that aren't and many places that shouldn't be receiving as much as they are.
Code:
Code: Select all
removed
Notes:
- I modified XEffects. Some of the modificiations are evident in his topic "XEffects - Reloaded", and others I got from the IRC channel. I had to modify the ScreenQuad wrapper to bind the UserMapSampler for OpenGL. The user map I needed to use is a set of random vectors.
- I modified the blur shaders to only do 3 samples, or 2, I forget.
Things to do:
Once the SSAO is corrected, I need to find a way to optimize it. And then after that I want to go into future endeavours with screen space technology such as SSGI (Screen Space Global Illumination) and deferred shading, as presented in the Leadwerks paper.
Thanks go to BlindSide for XEffects. It's a great framework!