-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007-2008, 2010-2011 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef MSP_GL_INSTANCESCENE_H_
#define MSP_GL_INSTANCESCENE_H_
#include <map>
#include <set>
+#include <msp/core/inttypes.h>
#include "scene.h"
namespace Msp {
class InstanceScene: public Scene
{
private:
- typedef std::set<const Renderable *> RenderableSet;
- typedef std::map<long, RenderableSet> InstanceMap;
+ typedef std::set<Renderable *> RenderableSet;
+ typedef std::map<IntPtr, RenderableSet> InstanceMap;
InstanceMap renderables;
public:
- virtual void add(const Renderable &);
- virtual void remove(const Renderable &);
+ virtual void add(Renderable &);
+ virtual void remove(Renderable &);
+
+ virtual void setup_frame(Renderer &);
+ virtual void finish_frame();
- using Scene::render;
virtual void render(Renderer &, const Tag &tag = Tag()) const;
};