diff --git a/src/client/GL/GLBuffer.cc b/src/client/GL/GLBuffer.cc index 2227397..3bdd0bb 100644 --- a/src/client/GL/GLBuffer.cc +++ b/src/client/GL/GLBuffer.cc @@ -16,6 +16,7 @@ GLBuffer::~GLBuffer() bool GLBuffer::create(GLenum target, GLenum usage, const void *ptr, size_t sz) { + m_target = target; glGenBuffers(1, &m_id); if (m_id > 0) { diff --git a/src/client/GL/GLBuffer.h b/src/client/GL/GLBuffer.h index 6e27ba3..8cbcb64 100644 --- a/src/client/GL/GLBuffer.h +++ b/src/client/GL/GLBuffer.h @@ -11,8 +11,10 @@ class GLBuffer ~GLBuffer(); bool create(GLenum target, GLenum usage, const void *ptr, size_t sz); GLuint get_id() { return m_id; } + void bind() { glBindBuffer(m_target, m_id); } protected: GLuint m_id; + GLenum m_target; }; #endif diff --git a/src/client/GL/GLProgram.h b/src/client/GL/GLProgram.h index 3edcf23..9375369 100644 --- a/src/client/GL/GLProgram.h +++ b/src/client/GL/GLProgram.h @@ -19,6 +19,7 @@ class GLProgram GLuint get_id() { return m_id; } GLint get_uniform_location(const char *name); void get_uniform_locations(const char **names, int num, GLint *locs); + void use() { glUseProgram(m_id); } protected: GLuint m_id; GLShader m_v_shader;