renamed MaterialInstance to MaterialParameters.

This commit is contained in:
2021-06-16 10:41:04 +08:00
parent 0f42ab3987
commit bc8848afa6
30 changed files with 79 additions and 66 deletions

View File

@@ -1,35 +1,48 @@
#ifndef HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE
#define HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE
#ifndef HGL_GRAPH_VULKAN_MATERIAL_PARAMETERS_INCLUDE
#define HGL_GRAPH_VULKAN_MATERIAL_PARAMETERS_INCLUDE
#include<hgl/graph/VK.h>
#include<hgl/type/String.h>
VK_NAMESPACE_BEGIN
class MaterialInstance
class MaterialParameters
{
Material *material;
DescriptorSetsType ds_type;
DescriptorSets *descriptor_sets;
private:
friend class Material;
MaterialInstance(Material *,DescriptorSets *);
MaterialParameters(Material *,const DescriptorSetsType &type,DescriptorSets *);
public:
Material * GetMaterial (){return material;}
DescriptorSets *GetDescriptorSets (){return descriptor_sets;}
Material * GetMaterial (){return material;}
const DescriptorSetsType GetType (){return ds_type;}
DescriptorSets * GetDescriptorSets(){return descriptor_sets;}
public:
~MaterialInstance();
#define MP_TYPE_IS(name) const bool is##name()const{return ds_type==DescriptorSetsType::name;}
MP_TYPE_IS(Material)
MP_TYPE_IS(Texture)
MP_TYPE_IS(Values)
MP_TYPE_IS(Renderable)
MP_TYPE_IS(Global)
#undef MP_TYPE_IS
public:
virtual ~MaterialParameters();
bool BindUBO(const AnsiString &name,GPUBuffer *ubo,bool dynamic=false);
bool BindSSBO(const AnsiString &name,GPUBuffer *ubo,bool dynamic=false);
bool BindSampler(const AnsiString &name,Texture *tex,Sampler *sampler);
void Update();
};//class MaterialInstance
};//class MaterialParameters
VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_MATERIAL_INSTANCE_INCLUDE
#endif//HGL_GRAPH_VULKAN_MATERIAL_PARAMETERS_INCLUDE