added RenderResource::LoadMaterial functions, it can't easy CreateMaterial from file.
This commit is contained in:
parent
aa6071a948
commit
c99934fdf9
@ -56,11 +56,10 @@ private:
|
||||
|
||||
#ifndef USE_MATERIAL_FILE
|
||||
AutoDelete<mtl::MaterialCreateInfo> mci=mtl::CreatePureColor2D(&cfg); //走程序内置材质创建函数
|
||||
#else
|
||||
AutoDelete<mtl::MaterialCreateInfo> mci=LoadMaterialFromFile("Std2D/PureColor2D",&cfg); //走材质文件加载
|
||||
#endif//USE_MATERIAL_FILE
|
||||
|
||||
material=db->CreateMaterial(mci);
|
||||
#else
|
||||
material=db->LoadMaterial("Std2D/PureColor2D",&cfg); //走材质文件加载
|
||||
#endif//USE_MATERIAL_FILE
|
||||
|
||||
if(!material)
|
||||
return(false);
|
||||
|
@ -30,10 +30,7 @@ private:
|
||||
|
||||
cfg.local_to_world=true;
|
||||
|
||||
//AutoDelete<mtl::MaterialCreateInfo> mci=mtl::CreateVertexLuminance3D(&cfg);
|
||||
AutoDelete<mtl::MaterialCreateInfo> mci=mtl::LoadMaterialFromFile("Std3D/VertexLum3D",&cfg);
|
||||
|
||||
material=db->CreateMaterial(mci);
|
||||
material=db->LoadMaterial("Std3D/VertexLum3D",&cfg);
|
||||
if(!material)return(false);
|
||||
|
||||
Color4f GridColor;
|
||||
|
@ -57,10 +57,7 @@ private:
|
||||
|
||||
cfg.local_to_world=true;
|
||||
|
||||
//AutoDelete<mtl::MaterialCreateInfo> mci=mtl::CreateVertexLuminance3D(&cfg);
|
||||
AutoDelete<mtl::MaterialCreateInfo> mci=mtl::LoadMaterialFromFile("Std3D/VertexLum3D",&cfg);
|
||||
|
||||
material=db->CreateMaterial(mci);
|
||||
material=db->LoadMaterial("Std3D/VertexLum3D",&cfg);
|
||||
if(!material)return(false);
|
||||
|
||||
mi_plane_grid=db->CreateMaterialInstance(material);
|
||||
|
@ -56,10 +56,7 @@ private:
|
||||
cfg.coordinate_system=CoordinateSystem2D::NDC;
|
||||
cfg.local_to_world=false;
|
||||
|
||||
//AutoDelete<mtl::MaterialCreateInfo> mci=mtl::CreatePureTexture2D(&cfg);
|
||||
AutoDelete<mtl::MaterialCreateInfo> mci=mtl::LoadMaterialFromFile("Std2D/PureTexture2D",&cfg);
|
||||
|
||||
material=db->CreateMaterial(mci);
|
||||
material=db->LoadMaterial("Std2D/PureTexture2D",&cfg);
|
||||
|
||||
if(!material)
|
||||
return(false);
|
||||
|
@ -52,9 +52,7 @@ private:
|
||||
cfg.coordinate_system=CoordinateSystem2D::ZeroToOne;
|
||||
cfg.local_to_world=false;
|
||||
|
||||
AutoDelete<mtl::MaterialCreateInfo> mci=mtl::CreateRectTexture2D(&cfg);
|
||||
|
||||
material=db->CreateMaterial(mci);
|
||||
material=db->LoadMaterial("Std2D/RectTexture2D",&cfg);
|
||||
|
||||
if(!material)
|
||||
return(false);
|
||||
|
@ -94,10 +94,7 @@ private:
|
||||
cfg.coordinate_system=CoordinateSystem2D::ZeroToOne;
|
||||
cfg.local_to_world=true;
|
||||
|
||||
//AutoDelete<mtl::MaterialCreateInfo> mci=mtl::CreateRectTexture2DArray(&cfg);
|
||||
AutoDelete<mtl::MaterialCreateInfo> mci=mtl::LoadMaterialFromFile("Std2D/RectTexture2DArray",&cfg);
|
||||
|
||||
material=db->CreateMaterial(mci);
|
||||
material=db->LoadMaterial("Std2D/RectTexture2DArray",&cfg);
|
||||
|
||||
if(!material)
|
||||
return(false);
|
||||
|
@ -18,6 +18,13 @@
|
||||
#include<hgl/graph/VKDescriptorBindingManage.h>
|
||||
|
||||
VK_NAMESPACE_BEGIN
|
||||
|
||||
namespace mtl
|
||||
{
|
||||
struct Material2DCreateConfig;
|
||||
struct Material3DCreateConfig;
|
||||
}//namespace mtl
|
||||
|
||||
using MaterialID =int;
|
||||
using MaterialInstanceID =int;
|
||||
using BufferID =int;
|
||||
@ -101,6 +108,8 @@ public: //Material
|
||||
const ShaderModule *CreateShaderModule(const AnsiString &shader_module_name,const ShaderCreateInfo *);
|
||||
|
||||
Material * CreateMaterial(const mtl::MaterialCreateInfo *);
|
||||
Material * LoadMaterial(const AnsiString &,mtl::Material2DCreateConfig *);
|
||||
Material * LoadMaterial(const AnsiString &,mtl::Material3DCreateConfig *);
|
||||
|
||||
MaterialInstance * CreateMaterialInstance(Material *,const VILConfig *vil_cfg=nullptr);
|
||||
MaterialInstance * CreateMaterialInstance(const mtl::MaterialCreateInfo *,const VILConfig *vil_cfg=nullptr);
|
||||
|
@ -160,4 +160,24 @@ Material *RenderResource::CreateMaterial(const mtl::MaterialCreateInfo *mci)
|
||||
material_by_name.Add(mtl_name,mtl);
|
||||
return mtl.Finish();
|
||||
}
|
||||
|
||||
namespace mtl
|
||||
{
|
||||
MaterialCreateInfo *LoadMaterialFromFile(const AnsiString &, Material2DCreateConfig *);
|
||||
MaterialCreateInfo *LoadMaterialFromFile(const AnsiString &, Material3DCreateConfig *);
|
||||
}
|
||||
|
||||
Material *RenderResource::LoadMaterial(const AnsiString &mtl_name,mtl::Material2DCreateConfig *cfg)
|
||||
{
|
||||
AutoDelete<mtl::MaterialCreateInfo> mci=mtl::LoadMaterialFromFile(mtl_name,cfg);
|
||||
|
||||
return this->CreateMaterial(mci);
|
||||
}
|
||||
|
||||
Material *RenderResource::LoadMaterial(const AnsiString &mtl_name,mtl::Material3DCreateConfig *cfg)
|
||||
{
|
||||
AutoDelete<mtl::MaterialCreateInfo> mci=mtl::LoadMaterialFromFile(mtl_name,cfg);
|
||||
|
||||
return this->CreateMaterial(mci);
|
||||
}
|
||||
VK_NAMESPACE_END
|
||||
|
Loading…
x
Reference in New Issue
Block a user