From 5b361d81dbd2af0d0e99b9eb1adebea76ff05db0 Mon Sep 17 00:00:00 2001 From: hachem Date: Thu, 20 Aug 2026 02:27:02 +0200 Subject: [chore]: MASSIVE refactor + more vulkan bs --- src/platform/opengl/opengl_vertex_array.h | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/platform/opengl/opengl_vertex_array.h (limited to 'src/platform/opengl/opengl_vertex_array.h') diff --git a/src/platform/opengl/opengl_vertex_array.h b/src/platform/opengl/opengl_vertex_array.h new file mode 100644 index 0000000..5115830 --- /dev/null +++ b/src/platform/opengl/opengl_vertex_array.h @@ -0,0 +1,41 @@ +#pragma once + +#include "core/memory.h" + +#include "rendering/vertex_array.h" +#include "rendering/vertex_buffer.h" +#include "rendering/index_buffer.h" + +#include + +namespace Donut +{ + class OpenGLVertexArray + : public VertexArray + { + public: + OpenGLVertexArray(); + virtual ~OpenGLVertexArray(); + + virtual auto bind() const -> void override; + virtual auto unbind() const -> void override; + + virtual auto add_vertex_buffer(const Ref& vertex_buffer) -> void override; + virtual auto set_index_buffer(const Ref& index_buffer) -> void override; + + virtual const std::vector>& get_vertex_buffers() const override + { + return m_vertex_buffers; + } + + virtual const Ref& get_index_buffer() const override + { + return m_index_buffer; + } + private: + uint32_t m_renderer_id; + uint32_t m_vertex_buffer_index = 0; + std::vector> m_vertex_buffers; + Ref m_index_buffer; + }; +}; -- cgit v1.3