From 48b5a978b82de15d2997d39b1da9a3a0dcc795ba Mon Sep 17 00:00:00 2001 From: "HuYingzhuo(hugo/hyzboy)" Date: Tue, 21 Mar 2023 14:36:48 +0800 Subject: [PATCH] added a newly RenderResource::CreateMaterialInstance(MaterialCreateInfo *,...) --- inc/hgl/graph/VKRenderResource.h | 1 + src/SceneGraph/Vulkan/VKRenderResource.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/inc/hgl/graph/VKRenderResource.h b/inc/hgl/graph/VKRenderResource.h index f29f4f7c..219a987d 100644 --- a/inc/hgl/graph/VKRenderResource.h +++ b/inc/hgl/graph/VKRenderResource.h @@ -95,6 +95,7 @@ public: //Material MaterialInstance * CreateMaterialInstance(Material *,const VILConfig *vil_cfg=nullptr); MaterialInstance * CreateMaterialInstance(const OSString &,const VILConfig *vil_cfg=nullptr); + MaterialInstance * CreateMaterialInstance(const hgl::shadergen::MaterialCreateInfo *,const VILConfig *vil_cfg=nullptr); Primitive * CreatePrimitive(const uint32_t vertex_count=0); diff --git a/src/SceneGraph/Vulkan/VKRenderResource.cpp b/src/SceneGraph/Vulkan/VKRenderResource.cpp index dc763152..3fb6348e 100644 --- a/src/SceneGraph/Vulkan/VKRenderResource.cpp +++ b/src/SceneGraph/Vulkan/VKRenderResource.cpp @@ -72,6 +72,16 @@ MaterialInstance *RenderResource::CreateMaterialInstance(const OSString &mtl_fil return CreateMaterialInstance(mtl,vil_cfg); } +MaterialInstance *RenderResource::CreateMaterialInstance(const hgl::shadergen::MaterialCreateInfo *mci,const VILConfig *vil_cfg) +{ + Material *mtl=this->CreateMaterial(mci); + + if(!mtl) + return(nullptr); + + return CreateMaterialInstance(mtl,vil_cfg); +} + Primitive *RenderResource::CreatePrimitive(const uint32_t vertex_count) { if(!vertex_count)return(nullptr);