working on deferred shading