This is my A-level computer science coursework. The project was to write a 3D ray-tracer that renders triangle meshes, using a bounding volume hierarchy to accelerate the ray-triangle intersections to be logarithmic in the number of triangles rather than linear. With large meshes this reduces the rendering time from minutes to a few seconds.

The renderer is written in C++, with a simple UI for modifying camera and mesh properties (number-of, orientation, etc,) written in Python using the tkinter library.

Please don’t judge the project’s name too harshly, 17-year-old me thought it was cool.