A small wgpu renderer written in Rust. https://nullprop.sh/wgpu-renderer
Find a file
2025-01-11 18:53:59 +02:00
.github/workflows update workflow 2023-01-28 12:53:39 +02:00
.vscode rename to wgpu-renderer 2023-01-27 21:48:46 +02:00
res rename test shader 2023-01-27 22:06:02 +02:00
src working wasm build 2023-01-28 12:23:43 +02:00
.gitignore include sponza 2023-01-27 21:51:04 +02:00
Cargo.lock working wasm build 2023-01-28 12:23:43 +02:00
Cargo.toml working wasm build 2023-01-28 12:23:43 +02:00
index.html wasm WIP 2023-01-27 23:16:57 +02:00
LICENSE-APACHE add licenses 2025-01-11 18:53:59 +02:00
LICENSE-MIT add licenses 2025-01-11 18:53:59 +02:00
README.md working wasm build 2023-01-28 12:23:43 +02:00

wpgu-renderer

A small wgpu renderer written in Rust.

Features

  • Physically based shading
    • (F: Fresnel-Schlick approximation)
    • (G: Smith's Schlick-GGX)
    • (D: Trowbridge-Reitz GGX)
  • glTF models
  • 1 realtime pointlight
  • Simple wgsl preprocessor for includes
  • Works on WASM

Things I would like to add:

  • Shadow mapping
  • Restructuring
    • Simplify/abstract renderpasses; will be nice to have for PP and GI
    • src/core/state.rs is a mess; separate input handling, pipeline, passes
  • SSAO
  • Bloom
  • AA
  • Texture filtering
  • Immediate mode UI (dear imgui, egui)
  • Editing material properties, lights at runtime through UI
  • Some type of GI (DDGI, VXGI)

References

Assets

  • Sponza
    • Obtained from [KhronosGroup glTF-Sample-Models repository], converted to .glb