#ifndef MESH_H #define MESH_H #include #include #include class Mesh { public: typedef struct { glm::vec3 position; glm::vec3 normal; glm::vec2 texCoord; } Vertex; ~Mesh(); void addVertex(const Vertex& v); void addFace(int i1, int i2, int i3); void initGL(); void destroyGL(); void draw(); bool isLocked(){return locked;} protected: enum {VERTEX_BUFFER, INDICES_BUFFER, NB_BUFFERS}; std::vector vertices; std::vector indices; GLuint vao; GLuint vbo[2]; bool locked; }; #endif // MESH_H