#pragma once #include VK_NAMESPACE_BEGIN class SwapchainModule:public GraphModule { Swapchain *swapchain=nullptr; RTSwapchain *swapchain_rt=nullptr; RenderPass *swapchain_rp=nullptr; protected: bool CreateSwapchainFBO(); bool CreateSwapchain(); bool CreateSwapchainRenderTarget(); public: virtual void OnResize(const VkExtent2D &)override; ///<窗口大小改变 public: GRAPH_MODULE_CONSTRUCT(SwapchainModule) virtual ~SwapchainModule(); bool Init() override; RenderPass * GetRenderPass () {return swapchain_rp;} RTSwapchain * GetRenderTarget () {return swapchain_rt;} const VkExtent2D & GetSwapchainSize()const {return swapchain_rt->GetExtent();} };//class SwapchainModule:public GraphModule VK_NAMESPACE_END