diff options
| author | hachem <im@hachem.wtf> | 2026-08-20 22:20:49 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-20 22:20:49 +0200 |
| commit | 45baf48db974c66cfdc51f26cee191abbbd89a0b (patch) | |
| tree | b60c27506f1e1c37b7238161156c83e7e159fc12 /src/rendering/vertex_array.h | |
| parent | 00bf9a8cce28ab1dbc77ba24428be12391c4a576 (diff) | |
[feat]: reduce renderer abstraction
Diffstat (limited to 'src/rendering/vertex_array.h')
| -rw-r--r-- | src/rendering/vertex_array.h | 23 |
1 files changed, 15 insertions, 8 deletions
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<VertexBuffer>& vertex_buffer) -> void = 0; - virtual auto set_index_buffer(const Ref<IndexBuffer>& index_buffer) -> void = 0; + auto add_vertex_buffer(const Ref<VertexBuffer>& vertex_buffer) -> void; + auto set_index_buffer(const Ref<IndexBuffer>& index_buffer) -> void; - virtual auto get_vertex_buffers() const -> const std::vector<Ref<VertexBuffer>>& = 0; - virtual auto get_index_buffer() const -> const Ref<IndexBuffer>& = 0; + auto get_vertex_buffers() const -> const std::vector<Ref<VertexBuffer>>& { return m_vertex_buffers; } + auto get_index_buffer() const -> const Ref<IndexBuffer>& { return m_index_buffer; } static auto create() -> VertexArray*; + + private: + uint32_t m_renderer_id = 0; + uint32_t m_vertex_buffer_index = 0; + std::vector<Ref<VertexBuffer>> m_vertex_buffers; + Ref<IndexBuffer> m_index_buffer; }; }; |
