From 9d0262e8a2cbc722e0ff01058994c4ead1dbe0e5 Mon Sep 17 00:00:00 2001 From: Tyler Murphy Date: Wed, 28 Sep 2022 09:38:25 -0400 Subject: better model and texture cleanup --- engine/xe_model.hpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'engine/xe_model.hpp') diff --git a/engine/xe_model.hpp b/engine/xe_model.hpp index e331ed1..9f0a42d 100644 --- a/engine/xe_model.hpp +++ b/engine/xe_model.hpp @@ -34,20 +34,24 @@ class Model { void loadModel(const std::string &filepath); }; - Model(const Model::Builder &builder); + static Model* createModel(const std::string &filepath); + static Model* createModel(Builder& builder); + static void deleteModel(Model* model); + ~Model(); Model(const Model &) = delete; Model operator=(const Model &) = delete; - - static Model* createModelFromFile(const std::string &filepath); - static void deleteModel(Model* model); - static void submitDeleteQueue(); void bind(VkCommandBuffer commandBuffer); void draw(VkCommandBuffer commandBuffer); private: + + static void submitDeleteQueue(bool purge); + + Model(const Model::Builder &builder); + void createVertexBuffers(const std::vector &vertexData, uint32_t vertexSize); void createIndexBuffers(const std::vector &indexData); @@ -59,6 +63,9 @@ class Model { bool hasIndexBuffer = false; std::unique_ptr indexBuffer; uint32_t indexCount; + + friend class SwapChain; + friend class Engine; }; } \ No newline at end of file -- cgit v1.2.3-freya