]> git.tdb.fi Git - libs/gl.git/blobdiff - source/scene.h
Drop Renderable::has_pass; renderables are now expected to ignore unknown passes
[libs/gl.git] / source / scene.h
index 9766ab21a0292a4a217e76c086fcefae4d77a4a8..05c5b6785b3bf53cb2de92c2d45ee180c85bbc0e 100644 (file)
@@ -8,27 +8,26 @@ Distributed under the LGPL
 #ifndef MSP_GL_SCENE_H_
 #define MSP_GL_SCENE_H_
 
+#include <map>
 #include <set>
 #include "renderable.h"
 
 namespace Msp {
 namespace GL {
 
+class Object;
+class ObjectInstance;
+
 class Scene: public Renderable
 {
 private:
-       struct Compare
-       {
-               bool operator()(const Renderable *, const Renderable *) const;
-       };
-
-       std::set<const Renderable *, Compare> renderables;
+       std::map<const Object *, std::set<const ObjectInstance *> > objects;
+       std::set<const Renderable *> renderables;
 
 public:
        void add(const Renderable &);
        void remove(const Renderable &);
 
-       virtual bool has_pass(const Tag &) const { return true; }
        virtual void render(const Tag &tag=Tag()) const;
 };