added GetBindingMap at MaterialDescriptorManager and MaterialParameters
This commit is contained in:
parent
18a4212935
commit
fefdc19674
@ -5,11 +5,14 @@
|
|||||||
#include<hgl/graph/VKShaderDescriptorSet.h>
|
#include<hgl/graph/VKShaderDescriptorSet.h>
|
||||||
|
|
||||||
VK_NAMESPACE_BEGIN
|
VK_NAMESPACE_BEGIN
|
||||||
|
using BindingMap=Map<AnsiString,int>;
|
||||||
|
using BindingMapArray=BindingMap[VK_DESCRIPTOR_TYPE_RANGE_SIZE];
|
||||||
|
|
||||||
class MaterialDescriptorManager
|
class MaterialDescriptorManager
|
||||||
{
|
{
|
||||||
UTF8String mtl_name;
|
UTF8String mtl_name;
|
||||||
|
|
||||||
Map<AnsiString,int> binding_map[DESCRIPTOR_SET_TYPE_COUNT][VK_DESCRIPTOR_TYPE_RANGE_SIZE];
|
BindingMapArray binding_map[DESCRIPTOR_SET_TYPE_COUNT];
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@ -32,6 +35,11 @@ public:
|
|||||||
return dsl_ci[size_t(set_type)].bindingCount;
|
return dsl_ci[size_t(set_type)].bindingCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const BindingMapArray &GetBindingMap(const DescriptorSetType &set_type)const
|
||||||
|
{
|
||||||
|
return binding_map[size_t(set_type)];
|
||||||
|
}
|
||||||
|
|
||||||
const int GetBinding(const DescriptorSetType &set_type,const VkDescriptorType &desc_type,const AnsiString &name)const;
|
const int GetBinding(const DescriptorSetType &set_type,const VkDescriptorType &desc_type,const AnsiString &name)const;
|
||||||
|
|
||||||
const int GetUBO (const DescriptorSetType &set_type,const AnsiString &name,bool dynamic)const{return GetBinding(set_type,dynamic?VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,name);}
|
const int GetUBO (const DescriptorSetType &set_type,const AnsiString &name,bool dynamic)const{return GetBinding(set_type,dynamic?VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,name);}
|
||||||
|
@ -31,6 +31,7 @@ public:
|
|||||||
const VkDescriptorSet GetVkDescriptorSet ()const{return descriptor_set->GetDescriptorSet();}
|
const VkDescriptorSet GetVkDescriptorSet ()const{return descriptor_set->GetDescriptorSet();}
|
||||||
|
|
||||||
const uint32_t GetDescriptorCount ()const{return desc_manager->GetBindCount(set_type);} ///<获取总共需要绑定的描述符数量
|
const uint32_t GetDescriptorCount ()const{return desc_manager->GetBindCount(set_type);} ///<获取总共需要绑定的描述符数量
|
||||||
|
const BindingMapArray & GetBindingMap ()const{return desc_manager->GetBindingMap(set_type);}
|
||||||
|
|
||||||
const uint32_t GetDynamicCount ()const //返回动态ubo/ssbo总量
|
const uint32_t GetDynamicCount ()const //返回动态ubo/ssbo总量
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user