diff --git a/inc/hgl/graph/VKMaterialDescriptorSets.h b/inc/hgl/graph/VKMaterialDescriptorSets.h index 5d41a92c..4e3cca0c 100644 --- a/inc/hgl/graph/VKMaterialDescriptorSets.h +++ b/inc/hgl/graph/VKMaterialDescriptorSets.h @@ -20,6 +20,8 @@ using ShaderDescriptorList=List; class MaterialDescriptorSets { + UTF8String mtl_name; + ShaderDescriptor *sd_list; uint sd_count; @@ -36,9 +38,11 @@ private: public: - MaterialDescriptorSets(ShaderDescriptor *,const uint); + MaterialDescriptorSets(const UTF8String &,ShaderDescriptor *,const uint); ~MaterialDescriptorSets(); + const UTF8String &GetMaterialName()const{return mtl_name;} + const int GetBinding(const VkDescriptorType &desc_type,const AnsiString &name)const; const int GetUBO (const AnsiString &name,bool dynamic)const{return GetBinding(dynamic?VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,name);} diff --git a/src/SceneGraph/Vulkan/VKMaterialDescriptorSets.cpp b/src/SceneGraph/Vulkan/VKMaterialDescriptorSets.cpp index d948f959..4ddbb445 100644 --- a/src/SceneGraph/Vulkan/VKMaterialDescriptorSets.cpp +++ b/src/SceneGraph/Vulkan/VKMaterialDescriptorSets.cpp @@ -11,8 +11,10 @@ void WriteDescriptorSetLayoutBinding(VkDescriptorSetLayoutBinding *dslb,ShaderDe dslb->pImmutableSamplers=nullptr; } -MaterialDescriptorSets::MaterialDescriptorSets(ShaderDescriptor *sd,const uint count) +MaterialDescriptorSets::MaterialDescriptorSets(const UTF8String &name,ShaderDescriptor *sd,const uint count) { + mtl_name=name; + sd_list=sd; sd_count=count;