2015-07-16 23:57:59 +02:00

33 lines
629 B
C++

#ifndef MESH_H
#define MESH_H
#include <glew/glew.h>
#include <vector>
#define BUFFER_OFFSET(i) ((char *)NULL + (i))
class Mesh{
protected:
enum {VERTEX_BUFFER, INDICES_BUFFER, NB_BUFFERS};
std::vector<unsigned int> 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