Spatially-Accelerated Ray-Tracing of Triangle Meshes
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.
- The coursework itself (PDF).
- The GitHub repository; be warned, it is a mess.