From c5ec2af361181a179750275d94dd95bc2669b751 Mon Sep 17 00:00:00 2001 From: Lynix Date: Fri, 23 Jan 2015 00:02:33 +0100 Subject: [PATCH] (Scene) Added RenderFrame method Former-commit-id: ba02b2f0d65858fdabdedf5f0a9f7f9b1baa7268 --- include/Nazara/Graphics/Scene.hpp | 2 ++ src/Nazara/Graphics/Scene.cpp | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/include/Nazara/Graphics/Scene.hpp b/include/Nazara/Graphics/Scene.hpp index 8a9b1b89c..cabe82ebf 100644 --- a/include/Nazara/Graphics/Scene.hpp +++ b/include/Nazara/Graphics/Scene.hpp @@ -57,6 +57,8 @@ class NAZARA_API NzScene void RegisterForUpdate(NzUpdatable* object); + void RenderFrame(); + void SetAmbientColor(const NzColor& color); void SetBackground(NzAbstractBackground* background); void SetRenderTechnique(NzAbstractRenderTechnique* renderTechnique); diff --git a/src/Nazara/Graphics/Scene.cpp b/src/Nazara/Graphics/Scene.cpp index e66a99f03..a89fc5d93 100644 --- a/src/Nazara/Graphics/Scene.cpp +++ b/src/Nazara/Graphics/Scene.cpp @@ -245,6 +245,22 @@ bool NzScene::IsBackgroundEnabled() const return m_impl->backgroundEnabled; } +void NzScene::RenderFrame() +{ + try + { + NzErrorFlags errFlags(nzErrorFlag_ThrowException, true); + Update(); + Cull(); + UpdateVisible(); + Draw(); + } + catch (const std::exception& e) + { + NazaraError("Failed to render frame: " + NzString(e.what())); + } +} + void NzScene::RegisterForUpdate(NzUpdatable* object) { #if NAZARA_GRAPHICS_SAFE