first git commit: scene, object, mesh, texture, shader, material etc
[demo] / src / object.h
1 #ifndef OBJECT_H_
2 #define OBJECT_H_
3
4 #include <string>
5
6 #include <gmath/gmath.h>
7
8 class Mesh;
9 class ShaderProgram;
10 class Texture;
11
12 enum OType {
13         OBJ_MESH,
14         OBJ_PT_LIGHT,
15         OBJ_CAMERA
16 };
17
18 struct Material {
19 //      std::string name; <-TODO or id
20
21         Vec3 diffuse;
22         Vec3 specular;
23         float shininess;
24
25         Texture *dtex; // diffuse
26 };
27
28 class Object {
29 public:
30         Mat4 transform;
31         Material material;
32         Mesh *mesh;
33
34         Object();
35         ~Object();
36 };
37
38 #endif // OBJECT_H_