added GetCount() at MaterialDescriptorInfo class.

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-03-21 14:15:33 +08:00
parent 9302cbc3ef
commit 8c8a218a3a
2 changed files with 12 additions and 0 deletions

View File

@ -14,6 +14,7 @@ SHADERGEN_NAMESPACE_BEGIN
*/
class MaterialDescriptorInfo
{
uint descriptor_count;
ShaderDescriptorSetArray desc_set_array;
Map<AnsiString,AnsiString> struct_map;
@ -51,6 +52,11 @@ public:
void Resort(); //排序产生set号与binding号
const uint GetCount()const
{
return descriptor_count;
}
const ShaderDescriptorSetArray &Get()const
{
return desc_set_array;

View File

@ -14,6 +14,8 @@ MaterialDescriptorInfo::MaterialDescriptorInfo()
p.set=-1;
p.count=0;
}
descriptor_count=0;
}
const DescriptorSetType MaterialDescriptorInfo::GetSetType(const AnsiString &name)const
@ -73,6 +75,8 @@ SamplerDescriptor *MaterialDescriptorInfo::GetSampler(const AnsiString &name)
void MaterialDescriptorInfo::Resort()
{
descriptor_count=0;
//重新生成set/binding
{
int set=0;
@ -81,6 +85,8 @@ void MaterialDescriptorInfo::Resort()
{
if(p.count>0)
{
descriptor_count+=p.count;
p.set=set;
auto *sdp=p.descriptor_map.GetDataList();