#pragma once #include #include #include "vertex.hpp" const std::vector indices = { 0, 1, 2, 0, 3, 1, 4, 5, 6, 4, 7, 5 }; class Instance; class CommandPool; class Buffer { public: explicit Buffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties); ~Buffer(); VkBuffer handle = VK_NULL_HANDLE; VkDeviceMemory memory = VK_NULL_HANDLE; VkDeviceSize size; static Buffer* createStagedVertexBuffer(); static Buffer* createStagedIndexBuffer(); void copyTo(Buffer* dst, CommandPool* commandPool); private: };