Graphics 了解Vulkan统一布局';s';设置';指数

Graphics 了解Vulkan统一布局';s';设置';指数,graphics,vulkan,Graphics,Vulkan,我一直在学习(非常棒的)nvpro光线跟踪教程,对使用布局(binding=0,set=1)绑定CameraProperty统一缓冲区的方式有一个疑问-我理解binding=0,但为什么set=1 教程中说“set=1是因为它是传递给pipelineLayoutCreateInfo.setPSetLayouts”的第二个描述符集,但当我查看HellovKan::createGraphicsPipeline()时,我看到布局计数是一,这就是m_descSetLayout(什么绑定相机统一缓冲区)被

我一直在学习(非常棒的)nvpro光线跟踪教程,对使用
布局(binding=0,set=1)绑定CameraProperty统一缓冲区的方式有一个疑问-我理解binding=0,但为什么set=1

教程中说“set=1
是因为它是传递给
pipelineLayoutCreateInfo.setPSetLayouts
”的第二个描述符集,但当我查看
HellovKan::createGraphicsPipeline()
时,我看到布局计数是一,这就是
m_descSetLayout
(什么绑定相机统一缓冲区)被使用。我缺少什么

本教程的相关部分如下所示

谢谢!

参见第7.1章:

  std::vector<vk::DescriptorSetLayout> rtDescSetLayouts = {m_rtDescSetLayout, m_descSetLayout};
  pipelineLayoutCreateInfo.setSetLayoutCount(static_cast<uint32_t>(rtDescSetLayouts.size()));
  pipelineLayoutCreateInfo.setPSetLayouts(rtDescSetLayouts.data());
std::vector rtDescSetLayouts={m_rtDescSetLayout,m_descSetLayout};
pipelineLayoutCreateInfo.SetSetSetLayoutCount(静态转换(rtDescSetLayouts.size());
pipelineLayoutCreateInfo.setPSetLayouts(rtDescSetLayouts.data());

管道布局包含两个描述符集布局,
m_-rtDescSetLayout
用于索引0(集0)处的加速结构,以及
m_-descSetLayout
用于索引1(集1)中的screne描述符。在Vulkan中,集合是从管道布局创建信息中的描述符集合布局索引自动派生的。

啊,现在我明白了。感谢您为我将其链接在一起!