#pragma once #include #include #include #include // Contains memory and objects required to store information about geometry. class GeoBuffers { public: GeoBuffers(); ~GeoBuffers(); // Program and virtual memory for vertex data. std::vector vertices; VkTools::ManagedBuffer vertexBuffer; // Program and virtual memory for indices data. std::vector indices; VkTools::ManagedBuffer indexBuffer; // Virtual memory for uniforms - translation matrices, etc. VkTools::ManagedBuffer uniformBuffer; void createBuffers(Geo::MeshType type); void destroy(); private: void createVertexBuffer(); void createIndexBuffer(); void createUniformBuffer(); };