A real-time 3D path tracing engine. Built with Rust and wgpu.
- flying camera to move around
- 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.)
- convert equirectangular HDRIs to cubemaps (useful for rendering the sky)
- Bounding Volume Hierarchy for traversing meshes in logarithmic time
- 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
- implementing textures
- implementing a denoiser(?)
- moving the whole thing to Vulkan and utilize the raytracing cores on RTX GPUs
- 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







