From 267a1226ed6e44aef256e487234fa1e05ef05208 Mon Sep 17 00:00:00 2001 From: "re.kovalev" Date: Thu, 7 Apr 2022 13:43:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B2=D0=B8=D1=80=D1=82=D1=83=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8C=20=D0=BA=D0=BE=D0=BD=D1=81=D1=82=D1=80=D1=83?= =?UTF-8?q?=D0=BA=D1=82=D0=BE=D1=80=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/I_Model.h | 1 + include/Model.h | 4 ++-- src/Model.cpp | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/I_Model.h b/include/I_Model.h index 33c5ea1..2ad7084 100644 --- a/include/I_Model.h +++ b/include/I_Model.h @@ -6,6 +6,7 @@ class I_Model { public: + virtual ~I_Model() {}; // Виртуальный деструктор для корректной работы деструкторов в полиморфизме virtual void render(VkCommandBuffer commandBuffer) = 0; protected: virtual void bindBuffers(VkCommandBuffer commandBuffer) = 0; diff --git a/include/Model.h b/include/Model.h index 36d5ab7..70d9368 100644 --- a/include/Model.h +++ b/include/Model.h @@ -9,7 +9,7 @@ class Model_wo_indexes : public I_Model { public: Model_wo_indexes(Vertex* vertexArray, uint32_t verteciesCount); - ~Model_wo_indexes(); + virtual ~Model_wo_indexes(); virtual void render(VkCommandBuffer commandBuffer); protected: void bindBuffers(VkCommandBuffer commandBuffer); // привязка используемых буферов данных @@ -23,7 +23,7 @@ class Model_w_indexes : public Model_wo_indexes { public: Model_w_indexes(Vertex* vertexArray, uint32_t verteciesCount, uint32_t* indexArray, uint32_t indeciesCount); - ~Model_w_indexes(); + virtual ~Model_w_indexes(); virtual void render(VkCommandBuffer commandBuffer); protected: void bindBuffers(VkCommandBuffer commandBuffer); // привязка используемых буферов данных diff --git a/src/Model.cpp b/src/Model.cpp index ff052b0..7825fb6 100644 --- a/src/Model.cpp +++ b/src/Model.cpp @@ -2,6 +2,8 @@ #include "vk.h" +#include + // Конструктор класса без индексов - принимает массив вершин Model_wo_indexes::Model_wo_indexes(Vertex* vertexArray, uint32_t count) : verteciesCount(count) { @@ -14,7 +16,6 @@ Model_wo_indexes::Model_wo_indexes(Vertex* vertexArray, uint32_t count) : vertec Model_wo_indexes::~Model_wo_indexes() { extern Vulkan vulkan; - vulkan.destroyBuffer(vertexBuffer); } @@ -47,7 +48,6 @@ Model_w_indexes::Model_w_indexes(Vertex* vertexArray, uint32_t vCount, uint32_t* Model_w_indexes::~Model_w_indexes() { extern Vulkan vulkan; - vulkan.destroyBuffer(indexBuffer); }