simplerr / rust-renderer

A minimal renderer with Rust and Vulkan

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rust-renderer

Image Image Example renders using the path tracing mode

Developed to learn Rust and to have a framework for experimenting with modern rendering techniques

Features

  • GPU path tracer based on Ray Tracing in One Weekend
  • ReSTIR to improve sampling of analytical point lights
  • Basic PBR rendering
  • Bindless GPU resources
  • Experimental high level render graph
  • Vulkan using ash
  • SSAO, FXAA, IBL, shadow mapping
  • Raytraced shadows and reflections
  • Live shader recompilation
  • Shader reflection
  • Marching cubes demo

Building

You need Rust for building

Build and run the project with cargo run --release

Note: requires a GPU with raytracing support, e.g Nvidia RTX series

Note: only tested on Windows

Controls

  • 1, 2 - toggle between path tracing and rasterization
  • W/A/S/D - move the camera
  • MOUSE + RMB - rotate the camera
  • Q - toggle profiling window
  • SPACE - pause profiler

About

A minimal renderer with Rust and Vulkan

License:Apache License 2.0


Languages

Language:Rust 74.7%Language:GLSL 25.3%