ULRE/inc/hgl/graph/module/SwapchainModule.h

53 lines
1.1 KiB
C
Raw Normal View History

#pragma once
#include<hgl/graph/module/RenderModule.h>
VK_NAMESPACE_BEGIN
class SwapchainModule:public GraphModule
{
2024-10-29 00:50:32 +08:00
Swapchain *swapchain=nullptr;
RTSwapchain *swapchain_rt=nullptr;
2024-11-09 00:58:13 +08:00
RenderPass *swapchain_rp=nullptr;
RenderCmdBuffer **cmd_buf=nullptr;
2024-11-09 00:10:27 +08:00
protected:
2024-11-09 00:58:13 +08:00
bool CreateSwapchainFBO();
2024-11-09 00:10:27 +08:00
bool CreateSwapchain();
2024-11-09 19:28:31 +08:00
bool CreateSwapchainRenderTarget();
void InitRenderCmdBuffer();
void ClearRenderCmdBuffer();
2024-11-09 19:28:31 +08:00
public:
virtual void OnResize(const VkExtent2D &)override; ///<窗口大小改变
virtual void OnExecute(const double,RenderCmdBuffer *);
2024-11-09 00:10:27 +08:00
public:
2024-11-09 00:10:27 +08:00
GRAPH_MODULE_CONSTRUCT(SwapchainModule)
2024-11-09 00:58:13 +08:00
virtual ~SwapchainModule();
2024-10-29 00:50:32 +08:00
bool Init() override;
bool BeginFrame();
void EndFrame();
public:
2024-11-09 00:10:27 +08:00
2024-11-09 00:58:13 +08:00
RenderPass * GetRenderPass () {return swapchain_rp;}
2024-11-09 00:10:27 +08:00
RTSwapchain * GetRenderTarget () {return swapchain_rt;}
const VkExtent2D & GetSwapchainSize()const {return swapchain_rt->GetExtent();}
2024-11-09 00:10:27 +08:00
};//class SwapchainModule:public GraphModule
VK_NAMESPACE_END