Mountain of code for deferred shading (geometry + light pass)