A multi-threaded recursive ray tracer developed for my Computer Graphics class.

A 2000x2000 pixel rendering of a 3rd level SphereFlake.

This ray tracer takes basic .scn files as input, and outputs .ppm images.

Currently, the only supported object is a sphere, but all ray-sphere intersections are performed in object-space allowing for non-uniform transformations like the ground "plane" shown in the scene below.

A 2000x2000 pixel rendering of the test scene used in this class.

Future works on this project include: Fixing refraction calculations, adding more object types, support for textures, and full support for various input and output filetypes.

Working example .scn files can be found here

Tools utilized: C++