From 044a00669d1487e588a88ec25eaeb8f746c4d26b Mon Sep 17 00:00:00 2001 From: Lynix Date: Tue, 18 Mar 2014 19:54:35 +0100 Subject: [PATCH] Improved Scene implementation Will provide a default background/technique when necessary Former-commit-id: 547cca512aed4f90c53fff33e8c69245913d3a09 --- src/Nazara/Graphics/Scene.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Nazara/Graphics/Scene.cpp b/src/Nazara/Graphics/Scene.cpp index ad281d102..1c9a438e2 100644 --- a/src/Nazara/Graphics/Scene.cpp +++ b/src/Nazara/Graphics/Scene.cpp @@ -64,10 +64,7 @@ void NzScene::Cull() } #endif - if (!m_impl->renderTechnique) - m_impl->renderTechnique.reset(NzRenderTechniques::GetByRanking(-1, &m_impl->renderTechniqueRanking)); - - NzAbstractRenderQueue* renderQueue = m_impl->renderTechnique->GetRenderQueue(); + NzAbstractRenderQueue* renderQueue = GetRenderTechnique()->GetRenderQueue(); renderQueue->Clear(false); m_impl->visibleUpdateList.clear(); @@ -92,9 +89,6 @@ void NzScene::Draw() m_impl->viewer->ApplyView(); - if (!m_impl->background) - m_impl->background.reset(new NzColorBackground); - try { NzErrorFlags errFlags(nzErrorFlag_ThrowException); @@ -117,11 +111,17 @@ NzColor NzScene::GetAmbientColor() const NzAbstractBackground* NzScene::GetBackground() const { + if (!m_impl->background) + m_impl->background.reset(new NzColorBackground); + return m_impl->background.get(); } NzAbstractRenderTechnique* NzScene::GetRenderTechnique() const { + if (!m_impl->renderTechnique) + m_impl->renderTechnique.reset(NzRenderTechniques::GetByRanking(-1, &m_impl->renderTechniqueRanking)); + return m_impl->renderTechnique.get(); }