Blaze
Blaze is my lovely little toy renderer that I wholly use as a lab-rat for new techniques and to learn computer graphics in Vulkan.
There are a lot of goals - lot of things to learn. Blaze get’s a lot of love - but she’s not the only project I’m working on.
I use:
Some C++17 features (or did and refactored them out after my newfound love for simpler older C++ features)
Vulkan 1.1 (Will upgrade to 1.2 once I switch to an RTX card)
Some really nice libraries:
- GLFW
- GLM
- Vulkan Memory Allocator
- DearImGUI
- spirv-reflect
- tiny-glTF
- STB
I do it in my free time so here are the features I’ve planned or completed on so far:
- glTF 2.0 Model loading.
- Position, Normal, UV, Materials etc.
- Animations and Skeletons.
- Extension support.
- Physically Based Shading.
- Forward Rendering
- Simple
- Tiled
- Omni-directional (point) Shadow Maps
- Cubemap
- Dual Paraboloid
- Directional Shadow Maps
- Simple Directional Shadows
- Cascaded Shadow Maps
- Cascaded Perspective Shadow Maps
- Shader Reflection
- Pipeline Layout creation.
- Graphics Pipeline creation.
- Easy Descriptor Set creation.
- Compute Pipeline creation.
- Deferred Rendering
- Simple
- Visibility Buffers
- Tiled
- Reflections
- Screen Space Reflection
- Raytraced
- Ambient Occlusion
- SSAO
- HBAO
- Post Processing
- Bloom
- Auto-adjusing exposure
- Filters
- Global Illumination
- Voxel Cone Tracing
- Precomputed Radiance Transfer
- Raytraced