rayzor
view src/scene.h @ 11:fe94d9e986ae
optimized 16bpp swap_buffers
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Thu, 10 Apr 2014 08:42:33 +0300 |
parents | a826bf0fb169 |
children | d94a69933a71 |
line source
1 #ifndef SCENE_H_
2 #define SCENE_H_
4 #include <string>
5 #include <vector.h>
6 #include "object.h"
7 #include "light.h"
8 #include "camera.h"
10 class Scene {
11 private:
12 char *name;
13 vector<Object*> objects;
14 vector<Light*> lights;
15 vector<Camera*> cameras;
16 Camera *active_cam;
18 public:
19 Scene();
20 ~Scene();
22 void clear();
24 void set_name(const char *name);
25 const char *get_name() const;
27 void add_object(Object *obj);
28 void add_light(Light *lt);
29 void add_camera(Camera *cam);
31 int get_object_count() const;
32 int get_light_count() const;
33 int get_camera_count() const;
35 Object *get_object(int idx);
36 const Object *get_object(int idx) const;
37 Light *get_light(int idx);
38 const Light *get_light(int idx) const;
39 Camera *get_camera(int idx);
40 const Camera *get_camera(int idx) const;
42 void draw() const;
43 };
45 #endif // SCENE_H_