9b8c67769977025ef9cd1e1be8020c3a0429b724
[demo] / src / vulkan / mesh-vk.h
1 #ifndef MESH_VK_H_
2 #define MESH_VK_H_
3
4 #include "mesh.h"
5
6 class MeshVK : public Mesh {
7 private:
8         VkBuffer vk_vertices;
9         VkBuffer vk_normals;
10         VkBuffer vk_tex_coords;
11         VkBuffer vk_indices;
12
13         virtual void update_vertex_data() override;
14 public:
15     MeshVK();
16         MeshVK(const MeshVK &mesh);
17         MeshVK& operator=(const MeshVK &mesh);
18
19         virtual ~MeshVK();
20         virtual void draw() const override;
21         virtual void draw_normals(float scale) const override;
22 };
23
24 #endif // MESH_VK_H_