Deferred Shading (C++ / OpenGL)






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






















































A visualisation of the light volumes