This short project was undertaken to help me understand the implementation of rendering systems rather than simply knowing the theory behind them. The artefact produced was written using C++ and OpenGL and was built over 3 months of part time work.
The program first writes to a depth and Gbuffer, The Gbuffer includes normals, and a diffuse colour.
The next step is a lighting pass, directional, ambient and point lights are supported. the lights are rendered to the final screen buffer through volumes. full screens quads for ambient/directional lights and spheres for point lights.
A visualisation of the light volumes