MiniRT is a simple raytracer designed to teach students about raytracing and general computer graphics. It handles basic shapes like spheres, planes, and cylinders. For lighting, it uses ambient and spotlights, and it also computes specular lighting, shadows, and reflections. The original project didn't require multithreading, but with the addition of multiple lights, shadows, and reflections, it became quite slow as a single-threaded application. To improve performance, I implemented a thread pool.
git clone https://github.com/joonasmykkanen/minirt
brew install glfw
make bonus
./miniRT evaluation/sphere.rt