VkDescriptorSetLayoutBinding中descriptorCount的含义及取值确认
关于VkDescriptorSetLayoutBinding中descriptorCount的含义及你的理解纠正
- descriptorCount的核心含义:它代表当前binding下包含的同类型独立描述符的数量,每个描述符对应一个独立的GPU资源(比如单个uniform buffer、采样器等)。
- 你的理解存在误区:如果着色器中是
vec4 vecs[5];这种单个uniform buffer内的数组数据,此时整个数组属于一个uniform buffer资源,对应的descriptorCount应该设为1,而非5。因为你只需要一个描述符来绑定这个包含数组的buffer对象。 - 何时descriptorCount设为5:当你有5个独立的uniform buffer,每个buffer存储单个vec4数据,且着色器中声明为
layout(binding = 0) uniform vec4 vecs[5];(此处数组是多个独立描述符的集合)时,descriptorCount才需要设为5,每个数组元素对应一个独立的buffer描述符。
简单总结:判断descriptorCount的值,看你要绑定的独立资源数量,而非单个资源内部的数据元素数量。
内容的提问来源于stack exchange,提问作者Dimas
相关产品推荐
相关产品推荐

