A phyiscally based renderer, the GLSL shaders used physically plausible calculations to calculate the diffusion and specularity across the objects. It uses a deferred rendering technique, requiring two passes, so as to only perform lighting calculations on the the objects seen by the camera.
This was a personal project undertaken to understand and program in C++ for the GPU therefore no dependencies will be given as it is not designed to be exist outside of that scope.