Add support for shader hotreloading

This commit is contained in:
Jérôme Leclercq
2022-03-17 21:36:36 +01:00
parent 667a4a0c08
commit 615509d1ba
16 changed files with 285 additions and 40 deletions

View File

@@ -67,7 +67,13 @@ namespace Nz
static bool Initialize();
static void Uninitialize();
struct UberShaderEntry
{
NazaraSlot(UberShader, OnShaderUpdated, onShaderUpdated);
};
mutable std::vector<std::shared_ptr<RenderPipeline>> m_renderPipelines;
std::vector<UberShaderEntry> m_uberShaderEntries;
MaterialPipelineInfo m_pipelineInfo;
using PipelineCache = std::unordered_map<MaterialPipelineInfo, std::shared_ptr<MaterialPipeline>>;