Converts 3D geometry into 2D pixels by tracing light rays backwards through a scene. The raytracer takes in the input scene file, and the output image file name. The tracing function takes a ray as argument, and returns the color of that ray, working recursively.