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

@@ -12,6 +12,15 @@ namespace Nz
inline MaterialPipeline::MaterialPipeline(const MaterialPipelineInfo& pipelineInfo, Token) :
m_pipelineInfo(pipelineInfo)
{
m_uberShaderEntries.resize(m_pipelineInfo.shaders.size());
for (std::size_t i = 0; i < m_uberShaderEntries.size(); ++i)
{
m_uberShaderEntries[i].onShaderUpdated.Connect(m_pipelineInfo.shaders[i].uberShader->OnShaderUpdated, [this](UberShader*)
{
// Clear cache
m_renderPipelines.clear();
});
}
}
/*!