Compute shader based pipeline clustering, various fixes
Main
- Port pipeline light clustering to compute shaders
- Clean up lots of old code
- Remove all GPU flagging define permutations
- Simplify pipeline interface with new
RenderContext
struct - Add a fully customizable shadow pass to the pipeline, allowing for custom shaders
- Improve double click focus in Viewer (#4 (closed))
- Move embedded shaders to separate CMake target and specific folder (#3 (closed))
- Add C++/GLSL-shared
globals.hh
to pipeline with various defines - Add CMake option to enable aion profiling for the pipeline
- If ImGui is available, replace periodic log output with profiling GUI in GlfwApp
Minor + Fixes
- Add pipeline markdown guide to
docs/
- Remove caching from camera lens, add caching to pipeline StageCamera
- Add new
InputState
andInputSnapshot
class, replacing previousInput
class - Fix pipeline shader compilation on non-NVidia drivers
- Add camera up argument to
Handle::setLookAt
(#6 (closed)) - Adapt camera move speed to scene AABB in Viewer (#9 (closed))
- Add viewer close on ESC, program termination on Shift + ESC
- Fix SSAO naming
- Add various minor fixes and optimizations
Edited by Jonathan Kunstwald