Описание тега vulkan

Vulkan - это кроссплатформенный графический API с низкими накладными расходами от Khronos Group.

Vulkan, когда-то известный как OpenGL следующего поколения или просто GLnext, разработан как API с низкими накладными расходами, который упрощает многопоточную 3D-разработку, позволяя различным потокам ЦП одновременно подготавливать пакеты команд для отправки на графический процессор. Это дает разработчикам больший контроль над созданием команд, передавая им такие задачи, как управление памятью и потоками, вместо того, чтобы полагаться на видеодрайверы для выполнения этих обязанностей. При этом значительно сокращается объем работы и проверки, которые должен выполнять драйвер, что значительно снижает сложность драйвера. И наоборот, это увеличивает ответственность приложения / разработчика за обеспечение правильности операций и их правильной синхронизации друг с другом.

Vulkan использует байт- код SPIR-V в качестве стандартного представления для графики и вычислительных шейдеров. Эталонный компилятор GLSL Khronos компилирует форму GLSL (которая реализует специальное расширение для поддержки функций Vulkan) в SPIR-V, но пользователи могут использовать любые компиляторы, которые они хотят, которые имеют бэкэнд SPIR-V. Экосистема SPIR-V также включает поддержку компиляции из других языков, таких как HLSL, и кросс-компиляции байт-кода SPIR-V обратно в различные языки, включая GLSL, HLSL и C++.

Vulkan имеет широкую поддержку платформ на Windows, Linux и Android. Кроме того, большая часть Vulkan поддерживается на платформах iOS и MacOS через MoltenVk, часть инициативы Vulkan Portability Initiative. В настоящее время проводится дополнительная работа по разработке аналогичной реализации Vulkan поверх D3D12, чтобы ее можно было использовать на платформах UWP, которые могут не иметь собственных драйверов Vulkan.