新的WorkObject::CreateMaterialInstance封装,直接根据材质名称创建创建实例
This commit is contained in:
parent
b030684cbd
commit
5fec0732f3
@ -49,11 +49,18 @@ private:
|
|||||||
cfg.local_to_world=false;
|
cfg.local_to_world=false;
|
||||||
|
|
||||||
//AutoDelete<mtl::MaterialCreateInfo> mci=mtl::CreateVertexColor2D(&cfg); //这个是直接创建
|
//AutoDelete<mtl::MaterialCreateInfo> mci=mtl::CreateVertexColor2D(&cfg); //这个是直接创建
|
||||||
AutoDelete<mtl::MaterialCreateInfo> mci=mtl::CreateMaterialCreateInfo("VertexColor2D",&cfg); //这个是使用名称创建
|
|
||||||
|
//AutoDelete<mtl::MaterialCreateInfo> mci=mtl::CreateMaterialCreateInfo("VertexColor2D",&cfg); //这个是使用名称创建
|
||||||
//这两种方式都可以,上一种方式肯定是会快些,主要用于一些程序中直接写死的地方。
|
//这两种方式都可以,上一种方式肯定是会快些,主要用于一些程序中直接写死的地方。
|
||||||
//而下面这种方式很明显是为了可以将使用的材质写入配置文件中。
|
//而下面这种方式很明显是为了可以将使用的材质写入配置文件中。
|
||||||
|
|
||||||
material_instance=CreateMaterialInstance(mci);
|
//material_instance=CreateMaterialInstance(mci);
|
||||||
|
|
||||||
|
|
||||||
|
//下面这个方式更直接,在WorkObject中封装了CreateMaterialCreateInfo(name,...)这个方法一步到位
|
||||||
|
material_instance=CreateMaterialInstance("VertexColor2D",&cfg); //这个是使用名称创建
|
||||||
|
|
||||||
|
//再下一步我们会更直接将上面的Material2DCreateConfig写在配置文件中,这样只需要一个配置文件名称就可以完全加载了。
|
||||||
|
|
||||||
return material_instance;
|
return material_instance;
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#include<hgl/type/object/TickObject.h>
|
#include<hgl/type/object/TickObject.h>
|
||||||
#include<hgl/graph/RenderFramework.h>
|
#include<hgl/graph/RenderFramework.h>
|
||||||
#include<hgl/graph/VKRenderResource.h>
|
#include<hgl/graph/VKRenderResource.h>
|
||||||
|
#include<hgl/graph/mtl/MaterialLibrary.h>
|
||||||
#include<hgl/Time.h>
|
#include<hgl/Time.h>
|
||||||
//#include<iostream>
|
//#include<iostream>
|
||||||
|
|
||||||
@ -78,6 +79,13 @@ namespace hgl
|
|||||||
return db->CreateMaterialInstance(mci,vil_cfg);
|
return db->CreateMaterialInstance(mci,vil_cfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
graph::MaterialInstance *CreateMaterialInstance(const AnsiString &mtl_name,graph::mtl::MaterialCreateConfig *mtl_cfg,const graph::VILConfig *vil_cfg=nullptr)
|
||||||
|
{
|
||||||
|
AutoDelete<graph::mtl::MaterialCreateInfo> mci=graph::mtl::CreateMaterialCreateInfo("VertexColor2D",mtl_cfg); //这个是使用名称创建
|
||||||
|
|
||||||
|
return db->CreateMaterialInstance(mci,vil_cfg);
|
||||||
|
}
|
||||||
|
|
||||||
graph::Primitive *CreatePrimitive( const AnsiString &name,
|
graph::Primitive *CreatePrimitive( const AnsiString &name,
|
||||||
const uint32_t vertices_count,
|
const uint32_t vertices_count,
|
||||||
const graph::VIL *vil,
|
const graph::VIL *vil,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user