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

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

View File

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

View File

@ -23,7 +23,7 @@ MaterialInstance::MaterialInstance(Material *mtl,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)

View File

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

View File

@ -61,7 +61,7 @@ void LoadShaderDescriptor(const uint8 *data,ShaderDescriptor *sd_list,const uint
if(ver==2) //以下是旧的,未来不用了,现仅保证能运行
{
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
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)
return(false);