optimized SwapchainModule::BeginFrame/EndFrame

This commit is contained in:
2025-01-26 12:13:51 +08:00
parent af03f2967c
commit 768ebde879
8 changed files with 36 additions and 65 deletions

View File

@@ -3,6 +3,7 @@
#include<hgl/platform/Window.h>
#include<hgl/graph/VKDevice.h>
#include<hgl/graph/VKCommandBuffer.h>
#include<hgl/graph/module/SwapchainModule.h>
#include<hgl/graph/module/GraphModuleManager.h>
VK_NAMESPACE_BEGIN
@@ -12,7 +13,6 @@ class TileFont;
class RenderPassManager;
class TextureManager;
class RenderTargetManager;
class SwapchainModule;
class RenderModule;
@@ -55,6 +55,7 @@ public:
RenderTargetManager * GetRenderTargetManager (){return rt_manager;}
SwapchainModule * GetSwapchainModule (){return sc_module;}
RTSwapchain * GetSwapchainRenderTarget(){return sc_module?sc_module->GetRenderTarget():nullptr;}
public:

View File

@@ -20,14 +20,14 @@ GRAPH_MODULE_CLASS(SwapchainModule)
RTSwapchain * sc_render_target=nullptr;
SwapchainImage * current_sc_image=nullptr;
protected:
bool CreateSwapchainFBO();
bool CreateSwapchain();
bool CreateSwapchainRenderTarget();
RenderCmdBuffer *GetRenderCmdBuffer(int frame_index=-1);
public:
virtual void OnResize(const VkExtent2D &)override; ///<窗口大小改变
@@ -37,8 +37,9 @@ public:
SwapchainModule(GPUDevice *,TextureManager *tm,RenderTargetManager *rtm,RenderPassManager *rpm);
virtual ~SwapchainModule();
bool BeginFrame();
void EndFrame();
RenderCmdBuffer *BeginRender();
void EndRender();
public:
@@ -46,8 +47,7 @@ public:
const VkExtent2D & GetSwapchainSize()const{return sc_render_target->GetExtent();}
RenderCmdBuffer * RecordCmdBuffer (int frame_index=-1);
RTSwapchain * GetRenderTarget ()const{return sc_render_target;}
};//class SwapchainModule:public GraphModule
VK_NAMESPACE_END