NarcEngine 0.1.1
C++ Vulkan game engine
 
Loading...
Searching...
No Matches
Mesh.h
1#pragma once
2
3namespace narc_engine {
4 struct Vertex;
5
6 template<typename T>
7 class GraphicsBuffer;
8
9 typedef GraphicsBuffer<Vertex> VertexBuffer;
10 typedef GraphicsBuffer<uint32_t> IndexBuffer;
11
12 class NARC_ENGINE_API Mesh
13 {
14 public:
15 Mesh(const std::vector<Vertex>& vertices, const std::vector<uint32_t>& indices);
16 ~Mesh();
17
18 const VertexBuffer* getVertexBuffer() const { return m_vertexBuffer.get(); }
19 const IndexBuffer* getIndexBuffer() const { return m_indexBuffer.get(); }
20 uint32_t getIndexCount() const { return m_indexCount; }
21
22 private:
23 std::unique_ptr<VertexBuffer> m_vertexBuffer;
24 std::unique_ptr<IndexBuffer> m_indexBuffer;
25
26 uint32_t m_indexCount;
27 };
28}
Definition GraphicsBuffer.h:8
Definition Vertex.h:10