]> git.tdb.fi Git - libs/gl.git/blob - source/scene.h
Include local headers with "", not <>
[libs/gl.git] / source / scene.h
1 #ifndef MSP_GL_SCENE_H_
2 #define MSP_GL_SCENE_H_
3
4 #include "renderable.h"
5
6 namespace Msp {
7 namespace GL {
8
9 /**
10 Scenes are containers for other Renderables.  This is a base class that can't
11 be instantiated.  At the moment the available Scene types are SimpleScene,
12 InstancedScene and OrderedScene.
13 */
14 class Scene: public Renderable
15 {
16 protected:
17         Scene() { }
18 public:
19         virtual ~Scene() { }
20
21         virtual void add(const Renderable &) = 0;
22         virtual void remove(const Renderable &) = 0;
23
24         using Renderable::render;
25         virtual void render(const Tag & = Tag()) const;
26 };
27
28 } // namespace GL
29 } // namespace Msp
30
31 #endif