diff options
| author | hachem <im@hachem.wtf> | 2025-08-14 00:13:38 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2025-08-14 00:13:38 +0200 |
| commit | 0262eeea8762cdeb14c98d22473ebf0fd6b37bf9 (patch) | |
| tree | d8675a753433a5a0fce16e7380fac3dc3bd2ee35 /src/platform/vulkan/vulkan_vertex_array.h | |
| parent | 1b251bd174527951eec220ecbcb7eca89328e5b8 (diff) | |
chore: prepare for Vulkan
Diffstat (limited to 'src/platform/vulkan/vulkan_vertex_array.h')
| -rw-r--r-- | src/platform/vulkan/vulkan_vertex_array.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/platform/vulkan/vulkan_vertex_array.h b/src/platform/vulkan/vulkan_vertex_array.h new file mode 100644 index 0000000..b36c421 --- /dev/null +++ b/src/platform/vulkan/vulkan_vertex_array.h @@ -0,0 +1,27 @@ +#pragma once + +#include "rendering/vertex_array.h" + +namespace Donut +{ + class VulkanVertexArray + : public VertexArray + { + public: + VulkanVertexArray(); + virtual ~VulkanVertexArray(); + + virtual void bind() const override; + virtual void unbind() const override; + + virtual void add_vertex_buffer(const std::shared_ptr<VertexBuffer>& vertex_buffer) override; + virtual void set_index_buffer(const std::shared_ptr<IndexBuffer>& index_buffer) override; + + virtual const std::vector<std::shared_ptr<VertexBuffer>>& get_vertex_buffers() const { return m_vertex_buffers; } + virtual const std::shared_ptr<IndexBuffer>& get_index_buffer() const { return m_index_buffer; } + private: + uint32_t m_renderer_id; + std::vector<std::shared_ptr<VertexBuffer>> m_vertex_buffers; + std::shared_ptr<IndexBuffer> m_index_buffer; + }; +}; |
