Вулкан рендер на текстуру - PullRequest
0 голосов
/ 07 апреля 2020

В существующем рендере с геометрией dr aws в цепочке подкачки мне нужно визуализировать некоторые части этой геометрии в текстуре, другие части должны остаться на экране. Вся геометрия записывается в один командный буфер. Мне не нужно рендерить эту текстуру каждый раз. Я создал изображение назначения, просмотр изображения и кадровый буфер, но я не знаю, что делать сейчас. Я не думаю, что мне нужен конкретный c конвейер или новый набор специфицированных c дескрипторов, так как все правильно отображается на экране. Мне нужен еще один проход рендеринга, или подпроход, или что-нибудь еще?

1 Ответ

1 голос
/ 09 апреля 2020

Точно, вам нужен отдельный рендер, который заполняет ваши конечные изображения. Поскольку renderpass хранит ссылку на изображения (в виде вложений), требуется отдельная ссылка.

Внутри этого renderpass вы можете затем использовать зависимости subpass для перехода целевых изображений к правильному макету. Ваш первый переход должен быть от VK_ACCESS_SHADER_READ_BIT до VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT для записи в целевое изображение, и как только это будет сделано, вы переходите обратно от VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT к VK_ACCESS_SHADER_READ_BIT, чтобы вы могли, например, визуализировать ваши целевые изображения в визуальном проходе. В качестве альтернативы можно добавить их в цепочку подкачки, если устройство поддерживает это.

Если вам нужна ссылка, вы можете проверить мой пример закадрового рендеринга .

...