#ifndef VERTEXBUFFER_H #define VERTEXBUFFER_H #include #include "common/utils/Types.h" class VertexBuffer final { public: VertexBuffer(); ~VertexBuffer(); VertexBuffer(const VertexBuffer& other) = delete; VertexBuffer(VertexBuffer&& other) = delete; VertexBuffer& operator=(const VertexBuffer& other) = delete; VertexBuffer& operator=(VertexBuffer&& other) = delete; void setFloatAttribute(uint index, uint length, uint offset, uint step); void setData(u64 size, const void* data); void bindArray() const; void bindBuffer() const; void bind() const; void draw(uint vertices) const; private: GLuint vertexArray; GLuint vertexBuffer; }; #endif