Предпочитаемый формат при простуде в Вулкане - PullRequest
1 голос
/ 20 января 2020

Я хочу загрузить текстуру, которая размещена в памяти как ARGB (с 1-байтовыми компонентами). Поэтому при загрузке с помощью Vulkan мне нужно применить к нему текстуру Swizzle , поскольку в Vulkan отсутствует пиксельный формат ARGB.

У меня вопрос: стоит ли мне использовать VK_FORMAT_R8G8B8A8_UNORM более VK_FORMAT_B8G8R8A8_UNORM или наоборот?

PD: эта текстура будет использоваться только один раз, а затем обновляться

Редактировать: Обратите внимание, что доступны следующие альтернативы:

  • VK_FORMAT_R8G8B8A8_UNORM
  • VK_FORMAT_B8G8R8A8_UNORM
  • VK_FORMAT_A8B8G8R8_UNORM_PACK32 (эквивалентно VK_FORMAT_R8G8B8A8_UNORM в системах LE, поэтому я буду игнорировать его)

1 Ответ

3 голосов
/ 20 января 2020

Оба из двух неупакованных типов являются необходимыми форматами изображений в Vulkan и, следовательно, всегда будут присутствовать в реализациях Vulkan для большинства видов использования изображений. До тех пор, пока вы не используете формат для просмотра в буфере, загрузки / сохранения изображений или в качестве вложения, нет никаких обнаруживаемых Vulkan причин предпочитать один формат другому.

Поскольку вы собираетесь Примените маску Swizzle к представлению изображения, порядок компонентов в формате не так уж важен для операций выборки текстур.

Как таковой, какой из них вы используете, это просто вопрос вкуса.

...