与一些 Vulkan 概念混淆

Confused with some Vulkan concept

我有一些关于 Vulkan 概念的问题。

1. vkCmdBindDescriptorSets 参数

// Provided by VK_VERSION_1_0
there is prototype:
void vkCmdBindDescriptorSets(
    VkCommandBuffer                             commandBuffer,
    VkPipelineBindPoint                         pipelineBindPoint,
    VkPipelineLayout                            layout,
    uint32_t                                    firstSet,
    uint32_t                                    descriptorSetCount,
    const VkDescriptorSet*                      pDescriptorSets,
    uint32_t                                    dynamicOffsetCount,
    const uint32_t*                             pDynamicOffsets);

我想知道 descriptorSetCount 和 pDescriptorSets 的用法,pipeline 在一个 drawcall 中只使用一个 VkDescriptorSet,但是提供多个相同的布局 VkDescriptorSet 意味着什么?

2。 glsl统一布局

layout(set=0,binding =0) uniform UniformBufferObject
{
    mat4 view;
    mat4 projection;
    vec3 position_camera;
}ubo;

设置是什么意思?

vkCmdBindDescriptorSets 更新当前descriptorSet 数组。 集合的索引定义你的着色器使用数组[索引].