#ifndef MESH_H #define MESH_H #include #include #define BUFFER_OFFSET(i) ((char *)NULL + (i)) class Mesh{ protected: enum {VERTEX_BUFFER, INDICES_BUFFER, NB_BUFFERS}; std::vector indices; GLuint vao; GLuint vbo[2]; bool locked; virtual int getNbVertices() = 0; virtual int getSizeofVertexType() = 0; virtual void* getVertexData() = 0; virtual void setAttribPointer() = 0; public: ~Mesh(); void addFace(int i1, int i2, int i3); void initGL(); void destroyGL(); void draw(); bool isLocked(){return locked;} }; #endif // MESH_H