9#include <vulkan/vulkan.h>
47 void CreateVertexBuffer(std::vector<VertexPositionColorTextureNormalTangent> vertices)
override;
59 inline bool IsOnGPU()
const override;
94 VkBuffer mVertexBuffer;
95 VkDeviceMemory mVertexBufferMemory;
96 size_t mVertexBufferSize;
98 VkBuffer mIndexBuffer;
99 VkDeviceMemory mIndexBufferMemory;
100 size_t mIndexBufferSize;
Interface for GPU mesh resource management.
bool IsOnGPU() const override
Query whether buffers are currently resident on the GPU.
void Shutdown() override
Release all GPU resources associated with this mesh.
void CreateIndexBuffer(std::vector< uint32_t > indices) override
Create a GPU index buffer.
VulkanMeshResources(VulkanRenderer *renderer)
Construct Vulkan mesh resources.
size_t GetVertexBufferSize() const override
Get the size (in bytes) of the GPU vertex buffer.
size_t GetIndexBufferSize() const override
Get the size (in bytes) of the GPU index buffer.
VkBuffer GetIndexBuffer() const
Get the Vulkan index buffer handle.
void CreateVertexBuffer(std::vector< Vertex2D > vertices) override
Create a GPU vertex buffer from 2D vertex data.
VkBuffer GetVertexBuffer() const
Get the Vulkan vertex buffer handle.
Vulkan-based implementation of the IRenderer interface.