]> git.localhorst.tv Git - blank.git/blob - src/model.hpp
add some light and color
[blank.git] / src / model.hpp
1 #ifndef BLANK_MODEL_HPP_
2 #define BLANK_MODEL_HPP_
3
4 #include <vector>
5 #include <GL/glew.h>
6 #include <glm/glm.hpp>
7
8
9 namespace blank {
10
11 class Model {
12
13 public:
14         enum Attribute {
15                 ATTRIB_VERTEX,
16                 ATTRIB_COLOR,
17                 ATTRIB_NORMAL,
18                 ATTRIB_COUNT,
19         };
20
21 public:
22         explicit Model(
23                 std::vector<glm::vec3> &&vertices,
24                 std::vector<glm::vec3> &&colors,
25                 std::vector<glm::vec3> &&normals);
26         ~Model();
27
28         void Draw();
29
30 private:
31         std::vector<glm::vec3> vertices;
32         std::vector<glm::vec3> colors;
33         std::vector<glm::vec3> normals;
34         GLuint handle[ATTRIB_COUNT];
35
36 };
37
38 }
39
40 #endif