A Vulkan deferred rendering playground
Partially based on my Vulkan examples (C++), with the goal of rendering a more complex scene outside of the example's scope.
As this is just a playground, expect frequent (and possibly breaking) changes.
Windows, Android and Linux
Visual Studio 2015 project is included along with a CMakeLists.txt for other compilers and platforms.
- Deferred renderer (4 MRTs)
- Separate pass for alpha masked objects (foliage)
- Multiple dynamic light sources
- Normal mapping
- SSAO
The model used for this example is Crytek's Atrium Sponza Palace model. The repository contains an updated version of the (already updated) version from Morgan McGuire.
For this demo I imported it into Blender (so you can use it with your favorite open source 3D application), added some missing normal maps and assigned all the maps in blender so you can easily load up the scene using ASSIMP and extract all information required for rendering like names of the diffuse, normal and specular maps and information on wether the material has a mask for e.g. rendering in a separate pass for transparent objects. The demo will load this scene using the COLLADA file exported from blender.