From 45baf48db974c66cfdc51f26cee191abbbd89a0b Mon Sep 17 00:00:00 2001 From: hachem Date: Thu, 20 Aug 2026 22:20:49 +0200 Subject: [feat]: reduce renderer abstraction --- src/rendering/vertex_array.h | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'src/rendering/vertex_array.h') diff --git a/src/rendering/vertex_array.h b/src/rendering/vertex_array.h index 921df56..1f06758 100644 --- a/src/rendering/vertex_array.h +++ b/src/rendering/vertex_array.h @@ -9,20 +9,27 @@ namespace Donut { - class VertexArray + class VertexArray { public: - virtual ~VertexArray() = default; + VertexArray(); + ~VertexArray(); - virtual auto bind() const -> void = 0; - virtual auto unbind() const -> void = 0; + auto bind() const -> void; + auto unbind() const -> void; - virtual auto add_vertex_buffer(const Ref& vertex_buffer) -> void = 0; - virtual auto set_index_buffer(const Ref& index_buffer) -> void = 0; + auto add_vertex_buffer(const Ref& vertex_buffer) -> void; + auto set_index_buffer(const Ref& index_buffer) -> void; - virtual auto get_vertex_buffers() const -> const std::vector>& = 0; - virtual auto get_index_buffer() const -> const Ref& = 0; + auto get_vertex_buffers() const -> const std::vector>& { return m_vertex_buffers; } + auto get_index_buffer() const -> const Ref& { return m_index_buffer; } static auto create() -> VertexArray*; + + private: + uint32_t m_renderer_id = 0; + uint32_t m_vertex_buffer_index = 0; + std::vector> m_vertex_buffers; + Ref m_index_buffer; }; }; -- cgit v1.3