Chapter 49: Screen-space Ambient Occlusion
Prerequisite: You should read the chapter on hemisphere sampling before reading this chapter.
Notes
Sample Bias
The middle box shows a set of random points generated with equal distribution across the square region.
The right box shows these points normalized onto the unit circle in black. In red, we show these points scaled to the distribution used in our SSAO implementation.
On the left box, we have the distribution of points colorized for directions. Green directions have few points and red directions have many points.
Resources:
- Learn OpenGL: SSAO - A good place to start!
- John Chapman: SSAO Tutorianl - This is the basis for the Learn OpenGL tutorial, it is a little more advanced but describes the same technique with perhaps a little bit more technical accuracy.
- SSAO With Depth Reconstruction - How to reconstruct view space values from depth buffer. I haven’t used this exact technique yet, but I have a more expensive approach that works as well.
- ionEngine SSAO Sample - My sample code.
- Comparative Study of SSAO Techniques - Advanced but a good look at the different approaches used.