]> git.tdb.fi Git - libs/gl.git/blobdiff - source/scene.cpp
Add a rendering supervisor class
[libs/gl.git] / source / scene.cpp
index 2ef2ea786cbe0428ee087f52ca8cd5f0e64410b1..fee81dc20c931b807c0e1b74828fb7533c056341 100644 (file)
@@ -1,38 +1,20 @@
 /* $Id$
 
 This file is part of libmspgl
-Copyright © 2007  Mikko Rasa, Mikkosoft Productions
+Copyright © 2011  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
+#include "renderer.h"
 #include "scene.h"
 
-using namespace std;
-
 namespace Msp {
 namespace GL {
 
-void Scene::add(const Renderable &r)
-{
-       renderables.insert(&r);
-}
-
-void Scene::remove(const Renderable &r)
-{
-       renderables.erase(&r);
-}
-
-void Scene::render() const
-{
-       for(set<const Renderable *>::const_iterator i=renderables.begin(); i!=renderables.end(); ++i)
-               (*i)->render();
-}
-
-void Scene::render(const string &pn) const
+void Scene::render(const Tag &tag) const
 {
-       for(set<const Renderable *>::const_iterator i=renderables.begin(); i!=renderables.end(); ++i)
-               if((*i)->has_pass(pn))
-                       (*i)->render(pn);
+       Renderer renderer(0);
+       render(renderer, tag);
 }
 
 } // namespace GL