A simple ray tracing engine written in C++.
- Monte Carlo ray tracing algorithm
- Depth of field
- Motion blur
- Materials: Lambertian, Metal, Dielectric
- Antialiasing
- Parallel rendering (pixel level)
| Without Depth of Field | With Depth of Field |
|---|---|
![]() |
![]() |
| Without Motion Blur | With Motion Blur |
|---|---|
![]() |
![]() |
Dependencies:
- CMake (version 3.20 or higher recommended)
- OpenMP (for parallel processing support)
- C++ compiler with C++20 support
To build the project:
mkdir build
cd build
cmake ..
makeRender an image and save it as a PPM file:
./build/raytracer > generated_images/output.ppmBased on the Ray Tracing in One Weekend book.



