Я читал много онлайн-руководств по созданию визуализатора Vulkan, однако идея subpasses все еще очень неясна для меня.Несколько экземпляров одного и того же Vulkan subpass
Скажите, что у меня есть следующий сценарий: мне нужно сделать первый subpass для установки (заполнить буфер глубины для тестирования и т. Д.), А затем иметь subpass для каждого света в сцене (число которого может измениться в любое время) , Поскольку каждый осветительный subpass точно такой же, можно ли объявить 2 subpasses и иметь несколько экземпляров одного и того же subpass?
Что делать, если я хочу, чтобы каждый свет был в своей нитке? Я хотел бы, чтобы команды рисования отправлялись после завершения каждого потока, чтобы рендеринг не дождался завершения всех огней - извините, если этот вопрос является базовым – RWilco8
@ RWilco8: В собственной потоке процессора? Это не имеет смысла; команды не выполняются в нескольких потоках ЦП. Вы помещаете их в CB в несколько потоков процессора. И уже есть способ справиться с этим: вспомогательные буферы команд. Кроме того, если вы делаете отложенный рендеринг, нет причин для этого, так как количество команд на свет очень мало. –
Ах да, я хотел бы использовать прямой рендеринг, где сцена отображается как серия огней, которые добавляются в результат. Делая это, я надеюсь, что он будет очень параллельным, когда каждый свет может начать свое командообразование и отправить, как только это будет сделано, используя threadpool. – RWilco8