#pragma once #include #include #include "copium/buffer/Buffer.h" #include "copium/buffer/CommandBuffer.h" #include "copium/pipeline/VertexDescriptor.h" #include "copium/util/Common.h" namespace Copium { class VertexBuffer final : public Buffer { CP_DELETE_COPY_AND_MOVE_CTOR(VertexBuffer); private: std::vector bindingOffsets; std::vector bindingSizes; public: VertexBuffer(const VertexDescriptor& descriptor, int vertexCount); void Bind(const CommandBuffer& commandBuffer); void UpdateStaging(uint32_t binding, void* data); }; }