From b8fefea1652f1ea80411cbe6041a16974a3ddd4e Mon Sep 17 00:00:00 2001 From: hyzboy Date: Sun, 6 Jul 2025 15:11:41 +0800 Subject: [PATCH] =?UTF-8?q?RenderFramework=E5=A2=9E=E5=8A=A0CreateMaterial?= =?UTF-8?q?=E5=92=8C=E6=96=B0=E7=9A=84CreateMaterialInstance=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/hgl/WorkObject.h | 5 +++++ inc/hgl/graph/RenderFramework.h | 14 ++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/inc/hgl/WorkObject.h b/inc/hgl/WorkObject.h index 3869e9e7..cedfcc02 100644 --- a/inc/hgl/WorkObject.h +++ b/inc/hgl/WorkObject.h @@ -78,6 +78,11 @@ namespace hgl public: + graph::Material *CreateMaterial(const AnsiString &mi_name,const graph::mtl::MaterialCreateInfo *mci) + { + return render_framework?render_framework->CreateMaterial(mi_name,mci):nullptr; + } + #define WO_FUNC_FROM_RENDER_FRAMEWORK(name,return_type) template return_type name(ARGS...args){return render_framework?render_framework->name(args...):nullptr;} WO_FUNC_FROM_RENDER_FRAMEWORK(CreatePipeline,graph::Pipeline *) diff --git a/inc/hgl/graph/RenderFramework.h b/inc/hgl/graph/RenderFramework.h index 115d0587..d5f274fd 100644 --- a/inc/hgl/graph/RenderFramework.h +++ b/inc/hgl/graph/RenderFramework.h @@ -181,6 +181,20 @@ public: return GetDefaultRenderPass()->CreatePipeline(args...); } + graph::Material *CreateMaterial(const AnsiString &mi_name,const graph::mtl::MaterialCreateInfo *mci) + { + return render_resource->CreateMaterial(mi_name,mci); + } + + template + graph::MaterialInstance *CreateMaterialInstance(graph::Material *mtl,const graph::VILConfig *vil_config=nullptr,const T *data=nullptr) + { + if(!mtl) + return(nullptr); + + return render_resource->CreateMaterialInstance(mtl,vil_config,data); + } + graph::MaterialInstance *CreateMaterialInstance(const AnsiString &mi_name,const graph::mtl::MaterialCreateInfo *mci,const graph::VILConfig *vil_cfg=nullptr) { return render_resource->CreateMaterialInstance(mi_name,mci,vil_cfg);