1
0
Fork 0
mirror of https://github.com/gwm17/Specter.git synced 2025-04-18 05:48:52 -04:00
Specter/Navigator/src/Platform/OpenGL/OpenGLBuffer.cpp

52 lines
1.1 KiB
C++

#include "OpenGLBuffer.h"
#include "glad/glad.h"
namespace Navigator {
OpenGLVertexBuffer::OpenGLVertexBuffer(size_t size, float* arr)
{
glCreateBuffers(1, &m_renderID);
glBindBuffer(GL_ARRAY_BUFFER, m_renderID);
glBufferData(GL_ARRAY_BUFFER, size, arr, GL_STATIC_DRAW);
}
OpenGLVertexBuffer::~OpenGLVertexBuffer()
{
glDeleteBuffers(1, &m_renderID);
}
void OpenGLVertexBuffer::Bind() const
{
glBindBuffer(GL_ARRAY_BUFFER, m_renderID);
}
void OpenGLVertexBuffer::Unbind() const
{
glBindBuffer(GL_ARRAY_BUFFER, 0);
}
OpenGLIndexBuffer::OpenGLIndexBuffer(uint32_t count, uint32_t* arr) :
m_count(count)
{
glCreateBuffers(1, &m_renderID);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_renderID);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, m_count * sizeof(uint32_t), arr, GL_STATIC_DRAW);
}
OpenGLIndexBuffer::~OpenGLIndexBuffer()
{
glDeleteBuffers(1, &m_renderID);
}
void OpenGLIndexBuffer::Bind() const
{
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_renderID);
}
void OpenGLIndexBuffer::Unbind() const
{
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
}
}