It all started with a classic miniRT project from the 42 curriculum: coding a basic raytracer in C with a few spheres and a plane. But with madelvin, we quickly thought: "What if we pushed this a bit further?"
Six months later, here we are with a complete path tracer, capable of generating better renders than we could have ever imagined at the start.
In the end, we turned this small raytracer into something much more ambitious:
- A true path tracer that faithfully simulates the physics of light
- An editing interface to create and modify scenes in real-time (by integrating a whole component system with mlx)
- 3D model support: goodbye spheres, hello dragons and cathedrals!
Looks real, doesn't it?
We've documented (almost) everything in our Wiki!
Whether you're curious about how path tracing works, want to implement your own BVH, or just want to see more pretty pictures, you'll find what you're looking for in the documentation.
Some cool entry points:
- Path Tracing & Materials - The core of the rendering engine
- BVH - How we handle scenes with millions of triangles
- HDRI Skybox - For realistic lighting
- Caustics - Because reflections in water are beautiful
sudo apt install libx11-dev libx11-xcb-dev libxext-dev libxrandr-dev libxfixes-dev libxrender-dev libxinerama-dev libbsd-dev libglew-dev libglfw3-dev
git clone https://github.com/Liammmmmmmm/42-miniRT.git
git submodule update --init
cd 42-miniRT
make
./miniRT scenes/example.rtProject carried out as part of the 42 curriculum, but we admit we got a little carried away...

