Improved rendertechnique fallback (will no longer loop)
Former-commit-id: 1aeb737432de1d2a8f205e547404b3f140967a16
This commit is contained in:
parent
9ba6258478
commit
f5833aa2d4
|
|
@ -33,7 +33,7 @@ struct NzSceneImpl
|
||||||
NzSceneRoot root;
|
NzSceneRoot root;
|
||||||
NzAbstractViewer* viewer = nullptr;
|
NzAbstractViewer* viewer = nullptr;
|
||||||
bool backgroundEnabled = true;
|
bool backgroundEnabled = true;
|
||||||
bool update;
|
bool update = false;
|
||||||
float frameTime;
|
float frameTime;
|
||||||
float updateTime;
|
float updateTime;
|
||||||
int renderTechniqueRanking;
|
int renderTechniqueRanking;
|
||||||
|
|
@ -99,8 +99,18 @@ void NzScene::Draw()
|
||||||
catch (const std::exception& e)
|
catch (const std::exception& e)
|
||||||
{
|
{
|
||||||
NzString oldName = m_impl->renderTechnique->GetName();
|
NzString oldName = m_impl->renderTechnique->GetName();
|
||||||
m_impl->renderTechnique.reset(NzRenderTechniques::GetByRanking(m_impl->renderTechniqueRanking-1, &m_impl->renderTechniqueRanking));
|
|
||||||
NazaraError("Render technique \"" + oldName + "\" failed, switched to \"" + m_impl->renderTechnique->GetName() + '"');
|
if (m_impl->renderTechniqueRanking > 0)
|
||||||
|
{
|
||||||
|
m_impl->renderTechnique.reset(NzRenderTechniques::GetByRanking(m_impl->renderTechniqueRanking-1, &m_impl->renderTechniqueRanking));
|
||||||
|
NazaraError("Render technique \"" + oldName + "\" failed, fallback to \"" + m_impl->renderTechnique->GetName() + '"');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NzErrorFlags errFlags(nzErrorFlag_ThrowException);
|
||||||
|
NazaraError("Render technique \"" + oldName + "\" failed and no fallback is available");
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue