X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsimplescene.h;h=fd834111354635a3c34d29d9158a3faf45042b1a;hb=3b159edbe4e80a2bc19c4c2fcd42cb996b9fbfe0;hp=be86285bba84b21ea25f98aad1d3f51954a165b1;hpb=db498c7e634fa999cf4b4a8b67c49813009b1790;p=libs%2Fgl.git diff --git a/source/simplescene.h b/source/simplescene.h index be86285b..fd834111 100644 --- a/source/simplescene.h +++ b/source/simplescene.h @@ -8,19 +8,25 @@ namespace Msp { namespace GL { /** -The simplest possible Scene. Rendering order is unspecified. +A simple yet efficient scene. Rendering order is unspecified. */ class SimpleScene: public Scene { private: typedef std::set RenderableSet; + typedef std::vector RenderableArray; RenderableSet renderables; + mutable RenderableArray cache; public: virtual void add(const Renderable &); virtual void remove(const Renderable &); +private: + void populate_cache() const; + +public: virtual void setup_frame() const; virtual void finish_frame() const;