01fc5fde9385fd15d4541c25d165fccacaeb63ad
[laserbrain_demo] / src / renderer.h
1 #ifndef RENDERER_H_
2 #define RENDERER_H_
3
4 #include <vector>
5 #include "metascene.h"
6
7 enum {
8         RENDER_MIRRORS  = 1,
9
10         RENDER_ALL              = 0x7fffffff
11 };
12
13 class Renderer {
14 private:
15         MetaScene *mscn;
16         unsigned int *shaders;
17
18 public:
19         unsigned int ropt;
20
21         Renderer();
22         virtual ~Renderer();
23
24         virtual bool init();
25         virtual void destroy();
26
27         virtual void set_scene(MetaScene *mscn);
28         virtual MetaScene *get_scene() const;
29
30         virtual void draw() const;
31         virtual void draw_object(Object *obj) const;
32
33         virtual void draw_mirror(FlatMirror *mir) const;
34 };
35
36 #endif  // RENDERER_H_