Skip to content

davidepi/glaze

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glaze

build badge

Realtime path tracing renderer written in Rust and Vulkan Ray Tracing.

Requires a GPU with raytracing support.

test_image

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

Supported Materials

Material type Preview
Lambert
Glass
Mirror
Metal
Pbr (GGX)

Building and Running

Building

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.

Input file

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.

Example scene

The scene used in this README can be downloaded at the following address.

Repo Structure

  • 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.

About

Realtime GPU raytracing renderer (path tracing) in Rust and Vulkan

Topics

Resources

Stars

Watchers

Forks