An interactive CPU Raytracer written in pure C++.
- Material:
- Dielectrics (Refraction and Total Internal Reflection w/ Schlick's Approximation)
- Diffuse / Pure Lambertian
- Purely Reflective and Roughly Reflective (fuzzy) Metal
- Postprocessing:
- Depth of Field
- Multi-sampling Anti-aliasing
- Primitives:
- Spheres
- Planes
- Interactive Features:
- Multiple Cameras (with real-time switching)
- Customizable ray depth and sample size
- GLM
- Dear ImGUI
- GLAD
- GLFW
- OpenMP
All dependencies are included in the repository as a submodule, make sure to use --recursive flag when cloning.
This project follows the standard CMake build routine.
mkdir build
cd build
cmake ..
make
Distributed under the MIT License. See LICENSE for more information.