A simple path-tracing ray-tracer
You will need meson + ninja:
pip3 install --upgrade meson
pip3 install --upgrade ninja
You 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-devel
To build use the following commands:
cd ptrt # root of the project
meson builddir
cd builddir
ninja
To run the compiled program:
./ptrt standalone /path/to/scene.json
Almost 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.