Renderer with shaders: Phong, Gouraud, Flat