#pragma once #include "GL/glew.h" #include "glm/gtc/type_ptr.hpp" #include "Loader.h" #include "ModelView.h" enum DrawableType { COLOR_CUBE, CHECKERED_FLOOR, WIRE_CUBE }; class IDrawable { public: virtual void addRotation(glm::vec4 vec) = 0; virtual void addTranslation(glm::vec4 vec) = 0; virtual void addScaling(glm::vec4 vec) = 0; virtual void draw(ShaderProgram *shader, glm::mat4x4 pv) = 0; virtual DrawableType getType() = 0; };