I've been implementing John Chapman's method for SSAO (an excellent tutorial by the way), and I've completed it all minus the final part: blurring it. I believe this is what the entire process should be like:
- First pass: render normals and depth to textures. (plus diffuse/specular albedo and such)
- Second pass: render scene without ambient occlusion to texture, render ambient occlusion to another texture.
- Third pass: blur the AO texture, multiply with scene texture for end result.
Then, if I wanted to implement bloom and depth of field, would I need yet another pass (or two)? Do modern games really go through a ton of rendering passes to add effects, or is there something obvious I'm missing? Some way to drop the number of passes needed?