A simple path-tracing ray-tracer
You will need meson + ninja:
pip3 install --upgrade meson
pip3 install --upgrade ninjaYou will also need OpenMP + Nlohmann-JSON:
# Debian based distros:
sudo apt install libomp-dev nlohmann-json-dev
# Arch based distros:
sudo pacman -Sy openmp nlohmann-json
# Fedora based distros:
sudo dnf install libomp-devel json-develTo build use the following commands:
cd ptrt # root of the project
meson builddir
cd builddir
ninjaTo run the compiled program:
./ptrt standalone /path/to/scene.jsonAlmost all calculation related code comes from these amazing books from Peter Shirley but I have added a few optimizations and parallelization to make it run faster.