X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fscene.h;h=329099ea341f31479bbb5e7063c062b226bba49d;hb=b617c5d7b5283ad260a77f01e42e6170cabbc03d;hp=f4e128105f75535d8398f06267924cfb50f8568e;hpb=4324df6e3d807d35e02e828320e436c509275520;p=libs%2Fgl.git diff --git a/source/scene.h b/source/scene.h index f4e12810..329099ea 100644 --- a/source/scene.h +++ b/source/scene.h @@ -8,24 +8,31 @@ Distributed under the LGPL #ifndef MSP_GL_SCENE_H_ #define MSP_GL_SCENE_H_ +#include #include #include "renderable.h" namespace Msp { namespace GL { +class Object; +class ObjectInstance; + class Scene: public Renderable { private: - std::set renderables; + typedef std::set InstanceSet; + typedef std::map ObjectMap; + typedef std::set RenderableSet; + + ObjectMap objects; + RenderableSet renderables; public: void add(const Renderable &); void remove(const Renderable &); - virtual bool has_pass(const std::string &) const { return true; } - virtual void render() const; - virtual void render(const std::string &) const; + virtual void render(const Tag &tag = Tag()) const; }; } // namespace GL