VenomEngine
Cross-Platform Modern Graphics Engine
Loading...
Searching...
No Matches
Mesh.h
Go to the documentation of this file.
1
8#pragma once
9
10#include <venom/vulkan/Debug.h>
14
15namespace venom
16{
17namespace vulkan
18{
20{
21public:
22 VulkanMesh();
24 void Draw() override;
25 vc::Error __LoadMeshFromCurrentData() override;
26
27 vc::Error AddVertexBuffer(const void* data, const uint32_t vertexCount, const uint32_t vertexSize, int binding);
28 vc::Error AddIndexBuffer(const void* data, const uint32_t indexCount, const uint32_t indexSize);
29 VkBuffer GetVkIndexBuffer() const;
30 const IndexBuffer & GetIndexBuffer() const;
31 uint32_t GetBindingCount() const;
32 uint32_t GetVertexCount() const;
33 VkDeviceSize * GetOffsets() const;
34
36 {
37 int binding;
38 VkBuffer buffer;
39 };
40 const std::vector<BoundVkBuffer> & GetVkVertexBuffers() const;
41
42private:
43 std::vector<VertexBuffer> __vertexBuffers;
44 std::vector<BoundVkBuffer> __vkVertexBuffers;
45 std::vector<VkDeviceSize> __offsets;
46 IndexBuffer __indexBuffer;
47};
48}
49}
Definition Mesh.h:23
Definition VertexBuffer.h:18
Definition Mesh.h:20
vc::Error __LoadMeshFromCurrentData() override
Loads Mesh into the Graphics API from the current data So it is expected that vertices,...
Definition Mesh.cc:30
Contains the entirety of the code of the VenomEngine project.
Definition Config.h:13