#pragma once #include "rendering/vertex_buffer.h" namespace Donut { class VulkanVertexBuffer : public VertexBuffer { public: VulkanVertexBuffer(uint32_t size); VulkanVertexBuffer(float* vertices, uint32_t size); virtual ~VulkanVertexBuffer(); virtual void bind() const override; virtual void unbind() const override; virtual void set_data(const void* data, uint32_t size) override; virtual const BufferLayout& get_layout() const override { return m_layout; } virtual void set_layout(const BufferLayout& layout) override { m_layout = layout; } private: uint32_t m_renderer_id; BufferLayout m_layout; }; };