A real-time 3D path tracing engine. Built with Rust and wgpu.
- progressive rendering (If you stand still the engine will start to accumulate previous frames over time and average the pixels together. This is a form of noise reduction.)
- Bounding Volume Hierarchy for faster mesh traversal
- flying camera
- user interface for making changes at runtime, such as:
- adjusting the renderer's settings
- modifying the scene (adding and removing objects, modifying their properties, etc.)
- select objects with the cursor (this currently only works for spheres, not complex meshes)
- load models from
.objfiles
- saving and loading scene data
- improved object picker (make it work for complex meshes)
- implementing textures
- implementing a denoiser(?)
- moving the whole thing to Vulkan to use a raytracing pipeline (instead of compute shaders)
- DLSS (??)
You will need the Rust toolchain. (You can install it using rustup.)
Running (in debug mode):
cargo run
Building in release mode:
cargo build --release







