diff options
Diffstat (limited to 'src/Platform/OpenGL/OpenGLVertexArray.cpp')
| -rw-r--r-- | src/Platform/OpenGL/OpenGLVertexArray.cpp | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/src/Platform/OpenGL/OpenGLVertexArray.cpp b/src/Platform/OpenGL/OpenGLVertexArray.cpp deleted file mode 100644 index afe5fe2..0000000 --- a/src/Platform/OpenGL/OpenGLVertexArray.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include <glad/glad.h> - -#include "OpenGLVertexArray.h" -#include "Rendering/VertexBuffer.h" -#include "Rendering/IndexBuffer.h" - -namespace Donut -{ - OpenGLVertexArray::OpenGLVertexArray() - { - // glCreateVertexArrays is 4.5 DSA; macOS caps at 4.1. glGenVertexArrays - // reserves the name and the VAO is created on first bind (done below). - glGenVertexArrays(1, &m_RendererID); - } - - OpenGLVertexArray::~OpenGLVertexArray() - { - glDeleteVertexArrays(1, &m_RendererID); - } - - void OpenGLVertexArray::Bind() const - { - glBindVertexArray(m_RendererID); - } - - void OpenGLVertexArray::Unbind() const - { - glBindVertexArray(0); - } - - void OpenGLVertexArray::AddVertexBuffer(const Ref<VertexBuffer>& vertexBuffer) - { - glBindVertexArray(m_RendererID); - vertexBuffer->Bind(); - - const auto& layout = vertexBuffer->GetLayout(); - for (const auto& element : layout.GetElements()) - { - glEnableVertexAttribArray(m_VertexBufferIndex); - glVertexAttribPointer(m_VertexBufferIndex, - element.count, - element.type, - element.normalized ? GL_TRUE : GL_FALSE, - layout.GetStride(), - reinterpret_cast<const void*>(static_cast<uintptr_t>(element.offset))); - m_VertexBufferIndex++; - } - - m_VertexBuffers.push_back(vertexBuffer); - } - - void OpenGLVertexArray::SetIndexBuffer(const Ref<IndexBuffer>& indexBuffer) - { - glBindVertexArray(m_RendererID); - indexBuffer->Bind(); - m_IndexBuffer = indexBuffer; - } -}; |
