Yet Another Rust Path Tracer
This is a path tracing program I wrote in Rust. I've written quite a few before, but with this one, I focused on more proper program structure and flow, and avoided any necessity for unsafe code. I'm pretty satisfied with the results so far, and I'll probably keep working on it for a bit.
Features:
- Basic primitive rendering.
- Transforms to allow full translation, rotation, and scale.
- Human-readable scene representation and loading.
- Light transport via path tracing for robust shadows, reflections, and global illumination.
- Depth of Field.
- Multithreading.
- Denoising via OpenImageDenoise.
- BVH Acceleration structures.
To-do:
- Triangle meshes.
- Edit
.cargo/config.tomlto point to a local installation of OpenImageDenoise. - In a console, use the command
cargo build--releaseflag recommended.
- Copy
OpenImageDenoise.dllandtbb12.dllfrom the OpenImageDenoisebinfolder into the folder with your built executable. - Play with the settings, run the renderer, and save rendered images!


