renamed to PerMaterialInstance instead of PerMaterial

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-02-23 12:31:42 +08:00
parent 3dbb1c40b7
commit cce2cab12c
6 changed files with 25 additions and 25 deletions

View File

@ -76,7 +76,7 @@ enum class DescriptorSetType
Global=0, ///<全局参数(如太阳光等) Global=0, ///<全局参数(如太阳光等)
PerFrame, ///<帧参数(如摄像机等) PerFrame, ///<帧参数(如摄像机等)
PerMaterial,///<材质参数(如纹理等) PerMaterialInstance,///<材质实例参数(如纹理等)
PerObject, ///<对象参数(如模型矩阵等) PerObject, ///<对象参数(如模型矩阵等)
Instance, Instance,
@ -87,7 +87,7 @@ enum class DescriptorSetType
constexpr char *DescriptSetsTypeName[]= constexpr char *DescriptSetsTypeName[]=
{ {
"Global","PerFrame","PerMaterial","PerObject","Instance","Skeleton" "Global","PerFrame","PerMaterialInstance","PerObject","Instance","Skeleton"
}; };
inline const char *GetDescriptorSetTypeName(const enum class DescriptorSetType &type) inline const char *GetDescriptorSetTypeName(const enum class DescriptorSetType &type)

View File

@ -9,9 +9,9 @@ class MaterialParameters
{ {
const MaterialDescriptorSets *mds; const MaterialDescriptorSets *mds;
DescriptorSetType ds_type; DescriptorSetType set_type;
DescriptorSet *descriptor_sets; DescriptorSet *descriptor_set;
private: private:
@ -21,20 +21,20 @@ private:
public: public:
const DescriptorSetType GetType (){return ds_type;} const DescriptorSetType GetType (){return set_type;}
DescriptorSet * GetDescriptorSet (){return descriptor_sets;} DescriptorSet * GetDescriptorSet (){return descriptor_set;}
const VkDescriptorSet GetVkDescriptorSet ()const{return descriptor_sets->GetDescriptorSet();} const VkDescriptorSet GetVkDescriptorSet ()const{return descriptor_set->GetDescriptorSet();}
const uint32_t GetCount ()const{return descriptor_sets->GetCount();} const uint32_t GetCount ()const{return descriptor_set->GetCount();}
const bool IsReady ()const{return descriptor_sets->IsReady();} const bool IsReady ()const{return descriptor_set->IsReady();}
public: public:
#define MP_TYPE_IS(name) const bool is##name()const{return ds_type==DescriptorSetType::name;} #define MP_TYPE_IS(name) const bool is##name()const{return set_type==DescriptorSetType::name;}
MP_TYPE_IS(Skeleton) MP_TYPE_IS(Skeleton)
MP_TYPE_IS(Instance) MP_TYPE_IS(Instance)
MP_TYPE_IS(PerObject) MP_TYPE_IS(PerObject)
MP_TYPE_IS(PerMaterial) MP_TYPE_IS(PerMaterialInstance)
MP_TYPE_IS(PerFrame) MP_TYPE_IS(PerFrame)
MP_TYPE_IS(Global) MP_TYPE_IS(Global)
#undef MP_TYPE_IS #undef MP_TYPE_IS

View File

@ -23,7 +23,7 @@ MaterialInstance::MaterialInstance(Material *mtl,VIL *v)
vil=v; vil=v;
mp_per_mi=mtl->GetMP(DescriptorSetType::PerMaterial); mp_per_mi=mtl->GetMP(DescriptorSetType::PerMaterialInstance);
} }
bool MaterialInstance::BindUBO(const DescriptorSetType &type,const AnsiString &name,DeviceBuffer *ubo,bool dynamic) bool MaterialInstance::BindUBO(const DescriptorSetType &type,const AnsiString &name,DeviceBuffer *ubo,bool dynamic)

View File

@ -7,13 +7,13 @@ VK_NAMESPACE_BEGIN
MaterialParameters::MaterialParameters(const MaterialDescriptorSets *_mds,const DescriptorSetType &type,DescriptorSet *ds) MaterialParameters::MaterialParameters(const MaterialDescriptorSets *_mds,const DescriptorSetType &type,DescriptorSet *ds)
{ {
mds=_mds; mds=_mds;
ds_type=type; set_type=type;
descriptor_sets=ds; descriptor_set=ds;
} }
MaterialParameters::~MaterialParameters() MaterialParameters::~MaterialParameters()
{ {
delete descriptor_sets; delete descriptor_set;
} }
bool MaterialParameters::BindUBO(const AnsiString &name,DeviceBuffer *ubo,bool dynamic) bool MaterialParameters::BindUBO(const AnsiString &name,DeviceBuffer *ubo,bool dynamic)
@ -26,7 +26,7 @@ bool MaterialParameters::BindUBO(const AnsiString &name,DeviceBuffer *ubo,bool d
if(index<0) if(index<0)
return(false); return(false);
if(!descriptor_sets->BindUBO(index,ubo,dynamic)) if(!descriptor_set->BindUBO(index,ubo,dynamic))
return(false); return(false);
return(true); return(true);
@ -42,7 +42,7 @@ bool MaterialParameters::BindSSBO(const AnsiString &name,DeviceBuffer *ssbo,bool
if(index<0) if(index<0)
return(false); return(false);
if(!descriptor_sets->BindSSBO(index,ssbo,dynamic)) if(!descriptor_set->BindSSBO(index,ssbo,dynamic))
return(false); return(false);
return(true); return(true);
@ -58,7 +58,7 @@ bool MaterialParameters::BindSampler(const AnsiString &name,Texture *tex,Sampler
if(index<0) if(index<0)
return(false); return(false);
if(!descriptor_sets->BindSampler(index,tex,sampler)) if(!descriptor_set->BindSampler(index,tex,sampler))
return(false); return(false);
return(true); return(true);
@ -74,7 +74,7 @@ bool MaterialParameters::BindInputAttachment(const AnsiString &name,ImageView *i
if(index<0) if(index<0)
return(false); return(false);
if(!descriptor_sets->BindInputAttachment(index,iv)) if(!descriptor_set->BindInputAttachment(index,iv))
return(false); return(false);
return(true); return(true);
@ -82,6 +82,6 @@ bool MaterialParameters::BindInputAttachment(const AnsiString &name,ImageView *i
void MaterialParameters::Update() void MaterialParameters::Update()
{ {
descriptor_sets->Update(); descriptor_set->Update();
} }
VK_NAMESPACE_END VK_NAMESPACE_END

View File

@ -61,7 +61,7 @@ void LoadShaderDescriptor(const uint8 *data,ShaderDescriptor *sd_list,const uint
if(ver==2) //以下是旧的,未来不用了,现仅保证能运行 if(ver==2) //以下是旧的,未来不用了,现仅保证能运行
{ {
if(sd->name[0]=='g')sd->set_type=DescriptorSetType::Global;else if(sd->name[0]=='g')sd->set_type=DescriptorSetType::Global;else
if(sd->name[0]=='m')sd->set_type=DescriptorSetType::PerMaterial;else if(sd->name[0]=='m')sd->set_type=DescriptorSetType::PerMaterialInstance;else
if(sd->name[0]=='r')sd->set_type=DescriptorSetType::PerObject;else if(sd->name[0]=='r')sd->set_type=DescriptorSetType::PerObject;else
sd->set_type=DescriptorSetType::PerFrame; sd->set_type=DescriptorSetType::PerFrame;
} }

View File

@ -109,7 +109,7 @@ namespace hgl
} }
{ {
MaterialParameters *mp=material_instance->GetMP(DescriptorSetType::PerMaterial); MaterialParameters *mp=material_instance->GetMP(DescriptorSetType::PerMaterialInstance);
if(!mp) if(!mp)
return(false); return(false);