diff --git a/inc/EBO.hpp b/inc/EBO.hpp new file mode 100755 index 0000000..7c3995f --- /dev/null +++ b/inc/EBO.hpp @@ -0,0 +1,18 @@ +#ifndef EBO_HPP +#define EBO_HPP + +#include + +class EBO +{ +private: + GLuint id; + +public: + EBO(const unsigned int* indices, size_t size); + ~EBO(); + + void bind(); + void unbind(); +}; +#endif \ No newline at end of file diff --git a/src/EBO.cpp b/src/EBO.cpp new file mode 100755 index 0000000..2004419 --- /dev/null +++ b/src/EBO.cpp @@ -0,0 +1,23 @@ +#include "EBO.hpp" + +EBO::EBO(const unsigned int* indices, size_t size) +{ + glGenBuffers(1, &id); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, id); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, size, indices, GL_STATIC_DRAW); +} + +EBO::~EBO() +{ + glDeleteBuffers(1, &id); +} + +void EBO::bind() +{ + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, id); +} + +void EBO::unbind() +{ + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); +} \ No newline at end of file