🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Back to Feedback

Published December 10, 2007
Advertisement
Getting back to FeedbackAfter spending some time on SSAO, I have decided not to write an article on the subject. It is an interesting technique, and I think it has a great potential user base, but there are a couple things working against it. I'll list them briefly:

1. The algorithm needs a view space depth value accessible in a pixel shader. This means that a depth pass is required to use SSAO on hardware that can't bind the z-buffer as a texture.

2. The raw results are quite grainy, forcing you to use a blurring pass before using the SSAO buffer. This isn't so bad on modern hardware, but its still another pass.

After the buffer is ready, then the final rendering pass needs to read from the SSAO blurred buffer to modify its ambient lighting value. The results are nice, but two additional non-trivial passes are pretty expensive if you aren't already doing something similar. However, there are the following possible solutions:

1. The depth only pass provides you with a zero overdraw on your subsequent passes - so there is some benefit. This allows you to increase the complexity of the final rendering passes somewhat, so it is not a total loss. Also, other algorithms use this type of depth value (depth of field, motion blur).

2. If there is other blending passes, you may be able to add the occlusion term into one of the channels of another buffer, letting you get the blur action for free. There are caveats to that as well, since they need to use the same blurring technique, but its better than just a separate rendering pass.

So anyways, I think its time to move on. I'm looking forward to working on Feedback some more, so we'll see where that leads...
Previous Entry SSAO is back on track...
Next Entry Shader X6 Article
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement