diff --git a/include/worldpass.h b/include/worldpass.h index c1c3092..028037e 100644 --- a/include/worldpass.h +++ b/include/worldpass.h @@ -7,6 +7,7 @@ class Renderer; class WorldPass { public: WorldPass(Renderer& renderer); + ~WorldPass(); void render(VkCommandBuffer commandBuffer); diff --git a/src/worldpass.cpp b/src/worldpass.cpp index ba9f888..87d3cfa 100644 --- a/src/worldpass.cpp +++ b/src/worldpass.cpp @@ -8,6 +8,11 @@ WorldPass::WorldPass(Renderer& renderer) : renderer_(renderer) { createPipeline(); } +WorldPass::~WorldPass() { + vkDestroyPipeline(renderer_.getDevice(), pipeline_, nullptr); + vkDestroyPipelineLayout(renderer_.getDevice(), pipelineLayout_, nullptr); +} + void WorldPass::render(VkCommandBuffer commandBuffer) { vkCmdBindPipeline(commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline_); vkCmdDraw(commandBuffer, 3, 1, 0, 0);