Assignment 2 Real-time Renderer Solution