diff options
Diffstat (limited to 'Project/IndexBuffer.cpp')
-rw-r--r-- | Project/IndexBuffer.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Project/IndexBuffer.cpp b/Project/IndexBuffer.cpp new file mode 100644 index 0000000..036796a --- /dev/null +++ b/Project/IndexBuffer.cpp @@ -0,0 +1,24 @@ +#include "IndexBuffer.h" +#include "Renderer.h" + +IndexBuffer::IndexBuffer(const unsigned int* data, unsigned int count) : m_count(count) +{ + GLCall(glGenBuffers(1, &m_rendererID)); + GLCall(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_rendererID)); + GLCall(glBufferData(GL_ELEMENT_ARRAY_BUFFER, count * sizeof(unsigned int), data, GL_STATIC_DRAW)); +} + +IndexBuffer::~IndexBuffer() +{ + GLCall(glDeleteBuffers(1, &m_rendererID)); +} + +void IndexBuffer::Bind() const +{ + GLCall(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_rendererID)); +} + +void IndexBuffer::Unbind() const +{ + GLCall(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0)); +}
\ No newline at end of file |