28 lines
627 B
C++
28 lines
627 B
C++
#pragma once
|
|
|
|
#include <vector>
|
|
#include <vulkan/vulkan.hpp>
|
|
|
|
#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<VkDeviceSize> bindingOffsets;
|
|
std::vector<VkDeviceSize> bindingSizes;
|
|
|
|
public:
|
|
VertexBuffer(const VertexDescriptor& descriptor, int vertexCount);
|
|
|
|
void Bind(const CommandBuffer& commandBuffer);
|
|
void UpdateStaging(uint32_t binding, void* data);
|
|
};
|
|
}
|