1
Watch
2
Star
1
Fork
0
Issue

A simple path-tracing ray-tracer

er888kh
er888kh
pushedAt 1 year ago

er888kh/ptrt

ptrt

A simple path-tracing ray-tracer

Building

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

Sample output

sample output hallow glass sample output spheres

Credits

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.