diff options
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; + }; +}; |
