Implementation of Clustered Shading and Physically Based Rendering with the bgfx rendering library.
Currently bgfx's OpenGL, DirectX 11/12 and Vulkan backends are supported. I've only tested on Windows 10 with an Nvidia GTX 1070. Other hardware or operating systems might have subtle bugs I'm not aware of.
Very simple implementation, might be useful to start reading the code
HDR tonemapping postprocessing with different operators:
A few useful resources that helped with the implementation:
CMake (>= 3.2) is required for building.
Generate project files:
mkdir build
cd build
# e.g. VS 2019, compile for x64 platform
cmake -G "Visual Studio 16 2019" -A x64 ..
cd ..
Build. Open the project files with your IDE/build tool, or use CMake:
cmake --build build/ --parallel --config Release
You can also grab a compiled copy for Windows with the Sponza model from the Releases page.
This software is licensed under the MIT License. Basically, you can do whatever you want with it, as long as you don't remove the license and copyright notice from relevant pieces of code.