#pragma once #include "../../buffer/Abstract.hpp" namespace buffer { /// Abstract OpenGL Buffer class Abstract { public: Abstract(GLenum shape); virtual ~Abstract(); /// Bind and draw buffer virtual uint draw(params params) = 0; protected: GLenum Shape; GLuint VertexBufferID; void enableVertexAttrib(); void disableVertexAttrib(); void enableAllAttribs(); void disableAllAttribs(); void setVertices(const unsigned long size, const void *data); }; }