diff --git a/MAGE/MAGE/src/scene/scene.cpp b/MAGE/MAGE/src/scene/scene.cpp index bccd8bc56..a12ef2d77 100644 --- a/MAGE/MAGE/src/scene/scene.cpp +++ b/MAGE/MAGE/src/scene/scene.cpp @@ -104,7 +104,7 @@ namespace mage { script.Update(elapsed_time, *this); }); } - void Scene::Render() { + void Scene::Render() const { TransformBuffer transform_buffer(GetCamera()); m_world->Render(transform_buffer); } diff --git a/MAGE/MAGE/src/scene/scene.hpp b/MAGE/MAGE/src/scene/scene.hpp index d91b0c940..6426aae76 100644 --- a/MAGE/MAGE/src/scene/scene.hpp +++ b/MAGE/MAGE/src/scene/scene.hpp @@ -81,7 +81,7 @@ namespace mage { /** Renders this scene. */ - void Render(); + void Render() const; /** Closes this scene. @@ -103,7 +103,7 @@ namespace mage { string m_name; SharedPtr< Camera > m_camera; - SharedPtr< World > m_world; + UniquePtr< World > m_world; set< SharedPtr< BehaviorScript >, std::less<> > m_scripts; }; } diff --git a/MAGE/MAGE/src/world/world.cpp b/MAGE/MAGE/src/world/world.cpp index b654ab069..b22307351 100644 --- a/MAGE/MAGE/src/world/world.cpp +++ b/MAGE/MAGE/src/world/world.cpp @@ -12,7 +12,7 @@ //----------------------------------------------------------------------------- namespace mage { - void World::Render(const TransformBuffer &transform_buffer) { + void World::Render(const TransformBuffer &transform_buffer) const { ForEachModel([&](const Model &model) { model.Draw(*this, transform_buffer); }); diff --git a/MAGE/MAGE/src/world/world.hpp b/MAGE/MAGE/src/world/world.hpp index 24fe9f704..b8fcad3db 100644 --- a/MAGE/MAGE/src/world/world.hpp +++ b/MAGE/MAGE/src/world/world.hpp @@ -28,7 +28,7 @@ namespace mage { RemoveAllLights(); } - void Render(const TransformBuffer &transform_buffer); + void Render(const TransformBuffer &transform_buffer) const; //------------------------------------------------------------------------- // Models