Realtime path tracing renderer written in Rust and Vulkan Ray Tracing.
Requires a GPU with raytracing support.
The following is a small video showing the realtime capabilities of the renderer.
Note: flickering is expected during the first few frames, given the unbiased nature of Path Tracing.
README.mp4
Material type | Preview |
---|---|
Lambert | |
Glass | |
Mirror | |
Metal | |
Pbr (GGX) |
Glaze works on Windows and Linux operating systems.
In order to build this application Rust is required.
The following command can be used to build the interactive renderer:
cargo build --release --bin glaze-app
The executable can be found in the folder target/release
.
The only runtime dependency is a decently recent version of the Vulkan runtime, usually bundled with the video card graphics driver.
To build the non-interactive renderer or the 3D scene converter, glaze-app
in
the previous command should be replaced with glaze-cli
or glaze-converter
respectively. Note that building the converter requires
assimp to be installed in the system.
For non-interactive executables (glaze-cli
and glaze-converter
),
command line parameters can be retrieved with the -h
flags.
This renderer requires its own 3D format. (Support for glTF SOON™)
A (very) experimental converter, glaze-converter
, based on
assimp, can be used to convert a 3D model from other
formats to the one expected by this renderer.
The scene used in this README can be downloaded at the following address.
- lib: library containing all the rendering and parsing routines.
- converter: executable responsible of converting existing 3D model files into the custom format required by this project.
- app: executable providing an interactive application to view the rendered scene and modify lights and materials in real-time.
- cli: executable used to render a scene non-interactively. Still requires a GPU with Ray Tracing support.