在 Vulkan 中使用常量缓冲区的描述符类型是什么?

What is the descriptor type used in case of constant buffers in Vulkan?

我正在尝试创建一个具有常量缓冲区的描述符集布局(这些常量缓冲区用于 PS 和 VS)。我不知道使用什么作为结构 VkDescriptorSetLayoutBinding 的描述符类型。这是一个基本问题,但我是 Vulkan 的新手。 提前致谢。

假设您正在谈论 HLSL 常量缓冲区,在 HLSL 文档中我们可以阅读:

Constant buffers reduce the bandwidth required to update shader constants by allowing shader constants to be grouped together and committed at the same time rather than making individual calls to commit each constant separately.

常量缓冲区在 GLSL(和 Vulkan)中最接近的等效项是统一缓冲区。因此,您应该在描述符集布局创建期间指定 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER

如果您需要有关描述符集的更多信息,您可以阅读 API 的 6th part 没有秘密:Vulkan 简介 教程。