Implementation of Peter Shirley's Ray Tracing Book Series
Some renders done throught the books:
Random spheres with different materials (lambertian, metal and dielectric) |
Emissive material and a sphere with noise texture (made using Perlin noise) |
Classic Cornell Box |
Cornell Box with colored smoke |
Next Week final scene with 50 samples per pixel |
Next Week final scene with 1000 samples per pixel |
Some custom made scenes:
Note: the model used in this scene is the famous Stanford Bunny, which can be downloaded
in this link, and is part of the
Stanford 3D Scanning Repository.
Requirements: CMake >= 3.12
Download stb_image and move it into src/external/
cd build
cmake ..
cmake --build . (add other CMake options as desired e.g. cmake --build . --config Release)
-
Implement The Rest of Your Life
-
Refactor the code to replace
std::shared_ptrwith const-references whenever it's possible. -
Refactor the code to accept a command-line argument to choose the scene, instead of hard-coding the choosen scene in a variable.
-
Check v4.0 when it comes out, then refactor or add any substantial changes.









