Screen Space Ambinent Occulsion (SSAO)
DEMO
OVERVIEW
This project implements a real-time SSAO technique within a deferred shading framework to simulate ambient light attenuation by occluding geometry. It supports both view-space and world-space sample modes and integrates fully with the lighting pipeline to modulate ambient light intensity per fragment.
The approach leverages normal-oriented hemisphere sampling in screen space, drawing data from the G-buffer's position and normal textures. The sample kernel is procedurally generated and configurable via ImGui, enabling real-time adjustment of kernel size distribution (linear to exponential), radius, and noise scale. A range of post-processing denoising methods are implemented, including box and Gaussian blurs with support for both 3x3 and 5x5 convolution kernels.
The final SSAO output is composited into the deferred lighting pass, enhancing the perception of geometric detail and surface grounding. An AO-only render mode is available for debugging and visual inspection. The implementation was developed within a custom OpenGL-based rendering framework.
​
KEY FEATURES
-
SSAO in both View-space and World-space sample modes.
-
Configuration sample kernel with ImGui interface (radius, distribution, noise).
-
Post-processing denoising: Box and Gaussian blur (3x3, 5x5).
-
Integrated into deferred shading pipeline with AO-only debug mode.