A WIP rendering engine in Vulkan 1.1 using C++17 Made by Anish Bhobe
- Forward Rendering
- glTF 2.0 Support
- Load Vertex Data
- Load Material Data
- Load Animation Data
- Load Camera
- Load Lights
- Support Specular Materials
- PBR
- IBL
- Shadows v1
- Omnidirectional Cubemap Shadows
- Directional Shadows
- Cascaded Shadows
- PCF
- Smooth Descriptor Creation Pipeline
- Deferred Rendering
- Post Process Stack
- Ambient Occlusion
- SSAO
- HBAO
- VXAO/SDFAO
- Reflection
- ScreenSpace Reflection
- Cubemap Reflection
- Forward+ Rendering
- Global Illumination
- Precomputed Radiance Transfer
- Voxel Cone Tracing
- Shadows v2
- Spot Lights
- Area Lights
- Omnidirectional Dual Paraboloid Shadows
- Perspective Shadow Mapping
- Animation
- Particle Effect
Blaze now has a deferred renderer with spherical volumes.
The unoptimized GBuffer is:
Position - R16G16B16A16 SFLOAT (3 channel position + alpha linear distance)
Albedo - R8G8B8A8 UNORM (3 channel color + alpha unused)
Normal - R16G16B16A16 SFLOAT (3 channel world space normals + alpha unused)
Physical Desc - R8G8B8A8 UNORM (R: Occlusion, G: Metallic, B: Roughness, A: Unused)
Emission - R8G8B8A8 SFLOAT (3 channel emission + alpha unused)
SSAO has been added with 64 samples in a hemisphere, and 5x5 blur at half resolution. Next up to reduce the sample requirement by using low discrepancy samples.
Performance hit ~6ms at 1920x1080 full resolution SSAO.