How to Render: The Fundamentals of Light, Shadow and Reflectivity