Programming assignment: 3D model shading, ray tracing, fractals