A basic raytracer supporting diffuse, metal, and dielectric materials, textures, and Phong shading.
- Materials
- Diffuse
- Metal
- Dielectric
- Phong
- Textures
- Image textures
- Perlin noise textures
- Normal maps
- Import camera and objects from a file using Assimp (works best with .gltf files)
- Bounding volume hierarchy
- Multithreading
Random sphere scene from Ray Tracing in One Weekend
Cornell box with 600 samples per pixel
Imported owl model
Dielectric and diffuse materials
- CMake 3.16.0
- C++17
- Assimp
- Boost Test (Set CMake option
RT_BUILD_TESTS
toOFF
to disable testing)
git clone https://github.com/mujpao/Raytracer.git
cd Raytracer
mkdir build
cd build
cmake ..
cmake --build .
See examples folder.
- Support different image formats
- Physically-based materials/lights
- Read lights from file
- Environment maps