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>
15
16namespace venom
17{
18namespace vulkan
19{
20class VulkanMesh : public vc::MeshImpl
21{
22public:
23 VulkanMesh();
24 ~VulkanMesh();
25 void Draw() override;
26 vc::Error __LoadMeshFromCurrentData() override;
27
28 vc::Error AddVertexBuffer(const void* data, const uint32_t vertexCount, const uint32_t vertexSize, int binding);
29 vc::Error AddIndexBuffer(const void* data, const uint32_t indexCount, const uint32_t indexSize);
30 VkBuffer GetVkIndexBuffer() const;
31 const IndexBuffer & GetIndexBuffer() const;
32 uint32_t GetBindingCount() const;
33 uint32_t GetVertexCount() const;
34 VkDeviceSize * GetOffsets() const;
35
37 {
38 int binding;
39 VkBuffer buffer;
40 };
41 const vc::Vector<BoundVkBuffer> & GetVkVertexBuffers() const;
42
43private:
46 vc::Vector<VkDeviceSize> __offsets;
47 IndexBuffer __indexBuffer;
48};
49}
50}
Definition DeferredTrash.h:62
Definition Mesh.h:24
vc::Error __LoadMeshFromCurrentData() override
Loads Mesh into the Graphics API from the current data So it is expected that vertices,...
Definition Mesh.cc:32
Encapsulation of Vulkan for the front end of VenomEngine.
Definition Allocator.h:18
Contains the entirety of the code of the VenomEngine project.
Definition Callback.h:13