A basic renderer using Vulkan and GLSL. This project's main goal is for me to be able to learn and play around with implementing various graphics techniques.
-
PBR using the Cook-Torrance BRDF
-
IBL
-
Soft PCF shadows for directional lights
-
A basic render graph to make adding renderpasses easier and to automatically add the needed synchronization inspired by FrameGraph in Frostbite and this blog post by Maister.
-
Bindless rendering
-
ECS using Flecs
-
GTAO based on the presentation and paper by Activision Blizzard
-
Shader recompiling and reloading during runtime using shaderc
-
Frustum culling using a compute shader and
DrawIndexedIndirectCount