#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& vertex_buffer) override; virtual void set_index_buffer(const std::shared_ptr& index_buffer) override; virtual const std::vector>& get_vertex_buffers() const { return m_vertex_buffers; } virtual const std::shared_ptr& get_index_buffer() const { return m_index_buffer; } private: uint32_t m_renderer_id; std::vector> m_vertex_buffers; std::shared_ptr m_index_buffer; }; };