From b095fdb291caafd98df36f2f82517e224fc2528c Mon Sep 17 00:00:00 2001 From: InkSoul Date: Fri, 8 Mar 2024 22:29:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90framebuffer=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E5=92=8C=E4=BF=AE=E6=AD=A3shader=20module=20=E4=B8=ADfragment?= =?UTF-8?q?=E9=98=B6=E6=AE=B5=E7=9A=84stage=E8=AE=BE=E7=BD=AE=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VulkanTutorial.cpp | 36 +++++++++++++++++++++++++++++++++++- VulkanTutorial.h | 4 ++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/VulkanTutorial.cpp b/VulkanTutorial.cpp index 37abcc4..2b7828f 100644 --- a/VulkanTutorial.cpp +++ b/VulkanTutorial.cpp @@ -114,6 +114,8 @@ void HelloTriangleApplication::initVulkan() { createRenderPass(); createGraphicPipeline(); + + creatFramebuffers(); } @@ -133,6 +135,11 @@ void HelloTriangleApplication::cleanup(GLFWwindow* window) { std::cout << "\nstart to destroy resource\n" << std::endl; + + for (auto framebuffer : swapChainFramebuffers) + { + vkDestroyFramebuffer(device, framebuffer, nullptr); + } vkDestroyPipeline(device, graphicsPipeline, nullptr); vkDestroyPipelineLayout(device, pipelineLayout, nullptr); @@ -606,6 +613,33 @@ VkShaderModule HelloTriangleApplication::createShaderModule(const std::vector formats; std::vector presentModes; }; + + std::vector swapChainFramebuffers; GLFWwindow* initWindow(int Width, int Height); @@ -138,6 +140,8 @@ private: VkShaderModule createShaderModule(const std::vector code); + void creatFramebuffers(); + }; HelloTriangleApplication::HelloTriangleApplication()