This project is my own implementation of a raytracer based on the famous book "Ray Tracing in One Weekend" by Peter Shirley, Trevor David Black, and Steve Hollasch. I've included multi-threading support to speed up the render process.
This is what you can expect from running this:

- g++ compiler with C++14 support
- Linux operating system
To compile the project, clone this repository and run the make command in the project's root directory:
git clone https://github.com/calderov/miniray.git
cd miniray
makeThis will create the miniray executable and ensure the render directory exists for output files.
After compilation, run the raytracer with:
./minirayThe program will render the scene and save the output image(s) as BMP files in the render/ directory. By default, it renders a single frame (frame0.bmp).
- The project uses multi-threading for rendering, utilizing all available CPU cores.
- Different scenes can be rendered by modifying the include statement in
src/main.cpp(e.g., change#include "scene01.h"to#include "scene02.h"). - For debugging, use
make debugto compile with debug flags.