1#include "VertexBuffer.h"
6 VertexBuffer::VertexBuffer(std::vector<Vertex>& vertices)
8 GLCall(glGenBuffers(1, &m_RendererID));
9 GLCall(glBindBuffer(GL_ARRAY_BUFFER, m_RendererID));
10 GLCall(glBufferData(GL_ARRAY_BUFFER, vertices.size() *
sizeof(Vertex),
nullptr, GL_STREAM_DRAW));
13 VertexBuffer::~VertexBuffer()
15 GLCall(glDeleteBuffers(1, &m_RendererID));
18 void VertexBuffer::Bind(
const std::vector<Vertex>& vertices)
const
20 GLCall(glBindBuffer(GL_ARRAY_BUFFER, m_RendererID));
21 GLCall(glBufferSubData(GL_ARRAY_BUFFER, 0, vertices.size() *
sizeof(Vertex), vertices.data()));
24 void VertexBuffer::Unbind()
const
26 GLCall(glBindBuffer(GL_ARRAY_BUFFER, 0));
29 Ref<VertexBuffer> VertexBuffer::Create(std::vector<Vertex>& vertices)
31 return MakeRef<VertexBuffer>(vertices);