Graphics/MaterialInstance: Add UpdatePassesStates

This commit is contained in:
SirLynix
2023-03-09 17:51:03 +01:00
parent 55f2937678
commit 3edffa8399
3 changed files with 33 additions and 0 deletions

View File

@@ -200,6 +200,25 @@ namespace Nz
InvalidatePassPipeline(passIndex);
}
template<typename F>
void MaterialInstance::UpdatePassesStates(std::initializer_list<std::size_t> passesIndex, F&& stateUpdater)
{
for (std::size_t passIndex : passesIndex)
UpdatePassStates(passIndex, stateUpdater);
}
template<typename F>
void MaterialInstance::UpdatePassesStates(F&& stateUpdater, bool ignoreDisabled)
{
for (std::size_t i = 0; i < m_passes.size(); ++i)
{
if (ignoreDisabled && !m_passes[i].enabled)
continue;
UpdatePassStates(i, stateUpdater);
}
}
inline void MaterialInstance::InvalidatePassPipeline(std::size_t passIndex)
{
assert(passIndex < m_passes.size());