RenderFramework增加CreateMaterial和新的CreateMaterialInstance调用封装

This commit is contained in:
2025-07-06 15:11:41 +08:00
parent 6b233e6ed4
commit b8fefea165
2 changed files with 19 additions and 0 deletions

View File

@@ -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<typename ...ARGS> return_type name(ARGS...args){return render_framework?render_framework->name(args...):nullptr;}
WO_FUNC_FROM_RENDER_FRAMEWORK(CreatePipeline,graph::Pipeline *)

View File

@@ -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<typename T>
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);