A Direct3D 12 renderer I’m building in Odin to learn modern graphics programming.

Features
- Bindless: one root signature for every PSO; shaders index resources directly from the descriptor heap.
- Deferred rendering: G-buffer pass (albedo, normals, AO + roughness), then a lighting pass.
- Asset streaming: a worker thread uploads scenes on the GPU copy queue, so scene switches don’t stutter.
- Shader interop through RTTI: input layouts and HLSL structs are generated from Odin structs.
- Shadow maps with PCF filtering.
- FXAA in a compute pass.
- glTF loading with a cache of GPU-ready, mipmapped textures.
- Dear ImGui for live tweaking.
To work on next:
- An Accurate PBR lighting model
- Character Animation
- Whatever is needed to support my next game (unannounced)
Gallery
Scene switch while the camera moves; assets stream in without stutter.
Shadow maps.

G-Buffer view in Renderdoc
NextlucyNES