Programming Assignment #4: Shading and Texture Mapping