#ifndef MSP_GL_ORDEREDSCENE_H_
#define MSP_GL_ORDEREDSCENE_H_
-#include <list>
+#include <vector>
#include "scene.h"
namespace Msp {
namespace GL {
/**
-A scene that renders its contents in a specific order. Inserting Renderables
-in the middle and removing them are O(N) operations.
+A scene which renders its contents in a specific order.
*/
class OrderedScene: public Scene
{
-private:
- typedef std::list<Renderable *> RenderableList;
+public:
+ using Scene::Loader;
- RenderableList renderables;
+private:
+ std::vector<Renderable *> content;
public:
virtual void add(Renderable &);
virtual void setup_frame(Renderer &);
virtual void finish_frame();
- using Scene::render;
virtual void render(Renderer &, Tag = Tag()) const;
};