This project is a C++ implementation of Peter Shirley's Ray Tracing in One Weekend series. It builds a simple CPU-based ray tracer from scratch, showcasing fundamental rendering techniques including ray-sphere intersections, diffuse materials, shadows, reflections, and antialiasing.
Final render with 100 samples/pixel
This implementation follows the structure and concepts introduced in:
- Ray Tracing in One Weekend by Peter Shirley
- Basic vector and ray math
- Recursive ray tracing
- Diffuse, metal, and dielectric materials
- Antialiasing
- C++17 or later
- Standard C++ libraries only (no external dependencies)
git clone https://github.com/Siddharth2077/CPU-Ray-Tracer.git
cd CPU-Ray-Tracer
mkdir build && cd build
cmake ..
cd ..
cmake --build build --config release
.\build\Release\cpu-raytracing-part-i.exe > image.ppm