#pragma once #include "Primitives.h" #include #include #include #define GLFW_INCLUDE_VULKAN #include struct FVertexBufferConfig { VkDevice Device; VkPhysicalDevice PhysicalDevice; }; class VulkanVertexBuffer { public: void Initialize(FVertexBufferConfig InConfig); void Cleanup(); void CreateVertexBuffer(std::vector InVertices); uint32_t FindMemoryType(uint32_t TypeFilter, VkMemoryPropertyFlags Properties); VkBuffer GetVertexBuffer() { return VertexBuffer; } private: FVertexBufferConfig Config; VkBuffer VertexBuffer; VkDeviceMemory VertexBufferMemory; };