diff options
Diffstat (limited to 'Project/VertexBuffer.cpp')
-rw-r--r-- | Project/VertexBuffer.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Project/VertexBuffer.cpp b/Project/VertexBuffer.cpp new file mode 100644 index 0000000..cd8562c --- /dev/null +++ b/Project/VertexBuffer.cpp @@ -0,0 +1,30 @@ +#include "VertexBuffer.h" + +#include "Renderer.h" + +VertexBuffer::VertexBuffer(const void* data, unsigned int size, unsigned int usage) +{ + GLCall(glGenBuffers(1, &m_rendererID)); + GLCall(glBindBuffer(GL_ARRAY_BUFFER, m_rendererID)); + GLCall(glBufferData(GL_ARRAY_BUFFER, size, data, usage)); +} + +VertexBuffer::~VertexBuffer() +{ + GLCall(glDeleteBuffers(1, &m_rendererID)); +} + +void VertexBuffer::SetSubData(const void* data, const unsigned int& size) const +{ + GLCall(glBufferSubData(GL_ARRAY_BUFFER, 0, size, data)); +} + +void VertexBuffer::Bind() const +{ + GLCall(glBindBuffer(GL_ARRAY_BUFFER, m_rendererID)); +} + +void VertexBuffer::Unbind() const +{ + GLCall(glBindBuffer(GL_ARRAY_BUFFER, 0)); +} |