#ifndef OBJECT_BASE #define OBJECT_BASE #include "vgl.h" #include "vgl.h" #include "vec.h" #include "mat.h" #include #include "Vertex.h" class Object{ public: Object(); ~Object(); void Bind(GLuint prog); void Display(); void ToggleDisplay(){ display != display; return; }; void SetType(GLenum t) { drawType = t; return; }; void SetColor(GLfloat r, GLfloat g, GLfloat b){ color = vec3(r,g,b); return; }; void SetTransformation(mat4 t) { transform = t; return; } protected: virtual void Init() = 0; virtual void DisplaySetup() = 0; GLenum drawType; bool display; std::vector points; std::vectorindex; GLuint VAONumber; GLuint bufferIDs[2]; int pointCount; vec3 color; GLint objectMatrixLoc; mat4 transform; }; #endif