This is my Vulkan renderer for the Graphics Programming 2 course of Howest - Digital Arts and Entertainment. The renderer supports the following Vulkan specific techniques or concepts:
Graphics Pipeline
Images and Buffers, including texture loading
Depth Buffering
An interactive camera using frame independent controls.
A non-forward rendering pipeline technique with a Deferred Rendering Pipeline with a Depth Prepass.
Physical Based Lighting using:
Cook-Torrance BRDF materials (using textures).
Light Types using physically based light units:
Omni/Point Lights
Directional Lights
Image Based Lighting (IBL) for Diffuse Irradiance only using HDR images.
Post Processing chain with Tone Mapping:
Exposure determined by Physical Camera settings
Reinhard and Uncharted 2
The rendering pipeline uses High Dynamic Range (HDR) and only maps to Low Dynamic Range (LDR) towards the end of the post processing chain