added newly CreateMaterialInstance that include MIData
This commit is contained in:
parent
77b0266cdc
commit
ae88a65315
@ -38,11 +38,9 @@ private:
|
||||
|
||||
for(uint i=0;i<3;i++)
|
||||
{
|
||||
material_instance[i]=db->CreateMaterialInstance(material);
|
||||
|
||||
GridColor=GetColor4f(ce,1.0);
|
||||
|
||||
material_instance[i]->WriteMIData(GridColor);
|
||||
material_instance[i]=db->CreateMaterialInstance(material,nullptr,&GridColor);
|
||||
|
||||
ce=COLOR((int)ce+1);
|
||||
}
|
||||
|
@ -57,13 +57,11 @@ private:
|
||||
material=db->LoadMaterial("Std3D/VertexLum3D",&cfg);
|
||||
if(!material)return(false);
|
||||
|
||||
mi_plane_grid=db->CreateMaterialInstance(material);
|
||||
mi_plane_grid=db->CreateMaterialInstance(material,nullptr,&white_color);
|
||||
if(!mi_plane_grid)return(false);
|
||||
mi_plane_grid->WriteMIData(white_color);
|
||||
|
||||
mi_line=db->CreateMaterialInstance(material);
|
||||
mi_line=db->CreateMaterialInstance(material,nullptr,&yellow_color);
|
||||
if(!mi_line)return(false);
|
||||
mi_line->WriteMIData(yellow_color);
|
||||
|
||||
pipeline=CreatePipeline(material,InlinePipeline::Solid3D,Prim::Lines);
|
||||
|
||||
|
@ -112,6 +112,15 @@ public: //Material
|
||||
Material * LoadMaterial(const AnsiString &,mtl::Material3DCreateConfig *);
|
||||
|
||||
MaterialInstance * CreateMaterialInstance(Material *,const VILConfig *vil_cfg=nullptr);
|
||||
|
||||
MaterialInstance * CreateMaterialInstance(Material *,const VILConfig *vil_cfg,const void *,const int);
|
||||
|
||||
template<typename T>
|
||||
MaterialInstance * CreateMaterialInstance(Material *mtl,const VILConfig *vil_cfg,const T *data)
|
||||
{
|
||||
return CreateMaterialInstance(mtl,vil_cfg,*data,sizeof(T));
|
||||
}
|
||||
|
||||
MaterialInstance * CreateMaterialInstance(const mtl::MaterialCreateInfo *,const VILConfig *vil_cfg=nullptr);
|
||||
|
||||
Primitive * CreatePrimitive(const uint32_t vertex_count=0);
|
||||
|
@ -62,6 +62,22 @@ MaterialInstance *RenderResource::CreateMaterialInstance(Material *mtl,const VIL
|
||||
return mi;
|
||||
}
|
||||
|
||||
MaterialInstance *RenderResource::CreateMaterialInstance(Material *mtl,const VILConfig *vil_cfg,const void *mi_data,const int mi_bytes)
|
||||
{
|
||||
if(!mtl)return(nullptr);
|
||||
if(!mi_data||mi_bytes<=0)return(nullptr);
|
||||
|
||||
MaterialInstance *mi=mtl->CreateMI(vil_cfg);
|
||||
|
||||
if(!mi)
|
||||
return nullptr;
|
||||
|
||||
Add(mi);
|
||||
mi->WriteMIData(mi_data,mi_bytes);
|
||||
|
||||
return mi;
|
||||
}
|
||||
|
||||
MaterialInstance *RenderResource::CreateMaterialInstance(const mtl::MaterialCreateInfo *mci,const VILConfig *vil_cfg)
|
||||
{
|
||||
Material *mtl=this->CreateMaterial(mci);
|
||||
|
Loading…
x
Reference in New Issue
Block a user