← Back to Projects

Recursive Ray Tracer

A C++ implementation of a multithreaded recursive ray tracer.

A multi-threaded recursive ray tracer developed for a Computer Graphics course. Supports super-sampling for anti-aliasing and recursive reflections for realistic scene rendering.

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

This ray tracer takes basic .scn files as input and outputs .ppm images. All ray-sphere intersections are performed in object-space, allowing non-uniform transformations like the ground "plane" shown below.

A 2000x2000 pixel rendering of the test scene.

Future work includes fixing refraction calculations, adding more object types, texture support, and full support for various input and output file types.

Working example .scn files can be found here.

C++ Multithreading Ray Tracing Phong Shading