Graphics: Move FramePipeline passes to separate classes

This commit is contained in:
Jérôme Leclercq
2022-02-16 18:29:27 +01:00
parent fb9aed2800
commit 5ce8120a0c
23 changed files with 1000 additions and 543 deletions

View File

@@ -27,6 +27,16 @@ namespace Nz
return GetPass(registry.GetPassIndex(passName));
}
template<typename F>
void Material::ForEachPass(F&& callback)
{
for (std::size_t i = 0; i < m_passes.size(); ++i)
{
if (m_passes[i])
callback(i, m_passes[i]);
}
}
inline const std::shared_ptr<MaterialPass>& Material::GetPass(std::size_t passIndex) const
{
if (passIndex >= m_passes.size())