/Ray-Tracing

The project is based on the series "Ray Tracing in One Weekend" and C++17.

Primary LanguageC++GNU General Public License v2.0GPL-2.0

C++17-based Ray Tracing

The project is based on the book Ray Tracing in One Weekend.

On Unix-like systems:

cmake -S . -B ./build -DCMAKE_BUILD_TYPE=Release
cmake --build ./build --parallel
./bin/Release/Ray-Tracing --config-file-path config/weekend/sky.json --output-file-path result/weekend/sky.png

On Windows:

cmake -S . -B ./build
cmake --build ./build --config Release --parallel
.\bin\Release\Ray-Tracing.exe --config-file-path config\weekend\sky.json --output-file-path result\weekend\sky.png

Gallery

These results are rendered on Windows 11 platform with Visual Studio 2022.

Weekend

Configuration File Name Result
weekend/sky.json
weekend/sphere.json
weekend/diffuse.json
weekend/diffuse.json
weekend/diffuse.json
weekend/diffuse.json
weekend/diffuse.json
weekend/diffuse.json
weekend/diffuse.json
weekend/diffuse.json
weekend/diffuse.json
weekend/diffuse.json
weekend/material.json
weekend/fov.json
weekend/fov.json
weekend/fov.json
weekend/weekend.json

Week

Configuration File Name Result
week/checker.json
week/two-spheres.json
week/earth.json
week/perlin.json
week/quad.json
week/light.json
week/cornell-box.json
week/cornell-smoke.json
week/week.json

Life

Configuration File Name Result
life/cornell-box.json
life/mirror.json
life/glass.json
life/mirror-glass.json