textures, lightmaps, hardcoded texture hack for testing
[laserbrain_demo] / src / scene.h
1 #ifndef SCENE_H_
2 #define SCENE_H_
3
4 #include <vector>
5 #include "mesh.h"
6 #include "snode.h"
7 #include "texture.h"
8
9 enum {
10         SCNLOAD_FLIPYZ = 1,
11         SCNLOAD_FLIPTEX = 2
12 };
13
14 class Scene {
15 private:
16         bool own_texset;
17
18 public:
19         std::vector<Mesh*> meshes;
20         std::vector<Object*> objects;
21         SceneNode *nodes;
22
23         TextureSet *texset;
24
25         explicit Scene(TextureSet *tset = 0);
26         ~Scene();
27
28         Scene(const Scene &rhs) = delete;
29         Scene &operator =(const Scene &rhs) = delete;
30
31         void destroy();
32
33         bool load(const char *fname, unsigned int flags = 0);
34
35         void update(float dt);
36         void draw() const;
37 };
38
39 #endif  // SCENE_H_