diff --git a/src/client/GLBuffer.cc b/src/client/GLBuffer.cc new file mode 100644 index 0000000..909d6ac --- /dev/null +++ b/src/client/GLBuffer.cc @@ -0,0 +1,14 @@ + +#include "GLBuffer.h" + +GLBuffer::GLBuffer(GLenum target, GLenum usage, const void *ptr, size_t sz) +{ + glGenBuffers(1, &m_id); + glBindBuffer(target, m_id); + glBufferData(target, sz, ptr, usage); +} + +GLBuffer::~GLBuffer() +{ + glDeleteBuffers(1, &m_id); +} diff --git a/src/client/GLBuffer.h b/src/client/GLBuffer.h new file mode 100644 index 0000000..a641207 --- /dev/null +++ b/src/client/GLBuffer.h @@ -0,0 +1,17 @@ + +#ifndef GLBUFFER_H +#define GLBUFFER_H + +#include + +class GLBuffer +{ + public: + GLBuffer(GLenum target, GLenum usage, const void *ptr, size_t sz); + ~GLBuffer(); + GLuint get_id() { return m_id; } + protected: + GLuint m_id; +}; + +#endif