new WorkObject Construct function.

This commit is contained in:
hyzboy 2025-01-29 17:42:06 +08:00
parent 7c745df910
commit 052e2c673a
5 changed files with 12 additions and 9 deletions

View File

@ -73,10 +73,8 @@ private:
public: public:
TestApp(RenderFramework *rf):WorkObject() TestApp(RenderFramework *rf):WorkObject(rf,rf->GetSwapchainRenderTarget())
{ {
Join(rf,rf->GetSwapchainRenderTarget());
if(!InitAutoMaterial()) if(!InitAutoMaterial())
return; return;

View File

@ -44,10 +44,10 @@ namespace hgl
public: public:
WorkObject()=default; WorkObject(graph::RenderFramework *,graph::IRenderTarget *);
virtual ~WorkObject()=default; virtual ~WorkObject()=default;
virtual void Join(graph::RenderFramework *rf,graph::IRenderTarget *rt); virtual void OnRenderTargetSwitch(graph::RenderFramework *rf,graph::IRenderTarget *rt);
virtual void Render(double delta_time,graph::RenderCmdBuffer *cmd)=0; virtual void Render(double delta_time,graph::RenderCmdBuffer *cmd)=0;

View File

@ -1,11 +1,11 @@
#include<hgl/graph/VKDebugUtils.h> #include<hgl/graph/VKDebugUtils.h>
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
DebugUtils *CreateDebugUtils(VkDevice device) DebugUtils *CreateDebugUtils(VkDevice device)
{ {
DebugUtilsFunction duf; DebugUtilsFunction duf;
#define DUF_GETFUNC(n,N) duf.n=(PFN_vk##N##EXT)vkGetDeviceProcAddr(device,"vk"#N"EXT");if(!duf.##n)return(nullptr); #define DUF_GETFUNC(n,N) duf.n=(PFN_vk##N##EXT)vkGetDeviceProcAddr(device,"vk"#N"EXT");if(!duf.n)return(nullptr);
DUF_GETFUNC(SetName, SetDebugUtilsObjectName ); DUF_GETFUNC(SetName, SetDebugUtilsObjectName );
DUF_GETFUNC(SetTag, SetDebugUtilsObjectTag ); DUF_GETFUNC(SetTag, SetDebugUtilsObjectTag );

View File

@ -45,7 +45,7 @@ namespace hgl
cur_work_object=wo; cur_work_object=wo;
wo->Join(render_framework,render_framework->GetSwapchainRenderTarget()); wo->OnRenderTargetSwitch(render_framework,render_framework->GetSwapchainRenderTarget());
Window *win=render_framework->GetWindow(); Window *win=render_framework->GetWindow();
graph::GPUDevice *dev=render_framework->GetDevice(); graph::GPUDevice *dev=render_framework->GetDevice();

View File

@ -12,7 +12,12 @@
namespace hgl namespace hgl
{ {
void WorkObject::Join(graph::RenderFramework *rf,graph::IRenderTarget *rt) WorkObject::WorkObject(graph::RenderFramework *rf,graph::IRenderTarget *rt)
{
OnRenderTargetSwitch(rf,rt);
}
void WorkObject::OnRenderTargetSwitch(graph::RenderFramework *rf,graph::IRenderTarget *rt)
{ {
if(!rf)return; if(!rf)return;
if(render_framework==rf)return; if(render_framework==rf)return;