Raytracer written in C++20, based on the book The Ray Tracer Challenge by Jamis Buck.
Designed to use C++20 modules with CMake for compatibility across multiple systems. Currently needs a patched version of gcc and cmake 3.25rc4+. Requires using ninja as the generator for cmake.
- OpenCV 4.5+
- CMake 3.25+
- NinjaBuild
- C++ Compiler
- gcc13
- MSVC 17 (2022)
- Chapter 1: Tuples, points and vectors
- Chapter 2: Drawing on a canvas
- Chapter 3: Matrices
- Chapter 4: Matrix transformations
- Chapter 5: Ray-Sphere intersections
- Chapter 6: Light and Shading
- Chapter 7: Making a Scene
- Chapter 8: Shadows
- Chapter 9: Planes
- Chapter 10: Patterns
- Chapter 11: Reflection and Refraction
- Chapter 12: Cubes
- Chapter 13: Cylinders and Cones
- Chapter 14: Groups
- Chapter 14.5: Bounding Boxes
- Chapter 15: Triangles
- Chapter 15.5: OBJ files
- Chapter 16: Constructive Solid Geometry
- Chapter 17: Next Steps