Минималистичная графическая библиотека на C++20 для Metal 4 и Vulkan 1.4: вместо буферов и наборов дескрипторов используются GPU-указатели и кучи дескрипторов.
KhronosGroup/Vulkan-Hpp
Header-only C++-биндинги для Vulkan C API с типобезопасными enum и битовыми полями, поддержкой STL, исключениями и RAII-хэндлами.
- Звёзды
- 3,818
- Форки
- 374
- Открытые issues
- 29
- Последний коммит
- 3 дня назад
Что это?
Vulkan-Hpp — это header-only C++-обёртка над Vulkan C API. Она призвана упростить написание кода для Vulkan на C++, не добавляя накладных расходов на CPU во время выполнения. Биндинги обеспечивают типобезопасность перечислений и битовых полей, поддержку контейнеров STL, обработку ошибок через исключения и несколько вариантов типов хэндлов с поддержкой RAII.
В репозитории находятся генераторы, которые читают XML-спецификацию Vulkan и создают заголовки C++. Документация описывает сборку и повторную генерацию заголовков, примеры использования, макросы конфигурации и три семейства хэндлов с семантикой, аналогичной unique_ptr, shared_ptr и vk::raii. Макросы конфигурации из C API также остаются доступными.
Заголовки входят в состав LunarG Vulkan SDK и репозитория Khronos Vulkan-Headers, а также доступны в виде пакетов для vcpkg и Conan. В рамках непрерывной интеграции проекты тестируются с GCC, Clang и MSVC на Windows, Linux и macOS (через MoltenVK).
Ключевые возможности
- 01Header-only: отдельную библиотеку подключать не нужно
- 02Типобезопасные перечисления и битовые поля
- 03Поддержка контейнеров STL и обработка ошибок через исключения
- 04Несколько семейств RAII-хэндлов, включая vk::raii
- 05Заголовки генерируются на основе официальной XML-спецификации Vulkan
- 06Доступен через Vulkan SDK, vcpkg и Conan
Сценарии использования
- Написание рендереров для Vulkan и кода для вычислений на современном C++
- Сокращение шаблонного кода и ручной очистки ресурсов в приложениях для Vulkan
- Сборка проектов для Vulkan с использованием C++ modules и именованного модуля vulkan
Быстрый старт
- 1
Установите Vulkan-Hpp с помощью vcpkg: клонируйте репозиторий vcpkg
git clone https://github.com/Microsoft/vcpkg.git - 2
Выполните начальную настройку vcpkg из его каталога
cd vcpkg && ./bootstrap-vcpkg.sh - 3
Установите порт vulkan-headers, который включает Vulkan-Hpp
./vcpkg install vulkan-headers
Что важно знать
- В зависимости от используемых функций требуется компилятор C++ с поддержкой модулей C++ или современного стандарта C++.
- Рекомендуемый способ установки — LunarG Vulkan SDK, поэтому для автономного использования может потребоваться дополнительная настройка.
В подборках
Темы
Частые вопросы
- Что такое Vulkan-Hpp?
- Header-only C++-биндинги для Vulkan C API с типобезопасными enum и битовыми полями, поддержкой STL, исключениями и RAII-хэндлами. Vulkan-Hpp — это header-only C++-обёртка над Vulkan C API. Она призвана упростить написание кода для Vulkan на C++, не добавляя накладных расходов на CPU во время выполнения. Биндинги обеспечивают типобезопасность перечислений и битовых полей, поддержку контейнеров STL, обработку ошибок через исключения и несколько вариантов типов хэндлов с поддержкой RAII.
- Vulkan-Hpp можно использовать бесплатно? Какая у него лицензия?
- Vulkan-Hpp распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- Vulkan-Hpp всё ещё поддерживается?
- Активно поддерживается. Последний коммит в Vulkan-Hpp — 4 нояб. 2026 г..
- Для чего можно использовать Vulkan-Hpp?
- Написание рендереров для Vulkan и кода для вычислений на современном C++ Сокращение шаблонного кода и ручной очистки ресурсов в приложениях для Vulkan Сборка проектов для Vulkan с использованием C++ modules и именованного модуля vulkan
- Как установить Vulkan-Hpp?
- Установите Vulkan-Hpp с помощью vcpkg: клонируйте репозиторий vcpkg: git clone https://github.com/Microsoft/vcpkg.git Выполните начальную настройку vcpkg из его каталога: cd vcpkg && ./bootstrap-vcpkg.sh Установите порт vulkan-headers, который включает Vulkan-Hpp: ./vcpkg install vulkan-headers
- Где скачать Vulkan-Hpp?
- Исходный код и инструкции по установке — на GitHub: https://github.com/KhronosGroup/Vulkan-Hpp
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Кроссплатформенная библиотека рендеринга на C++, которая абстрагирует Direct3D, Metal, OpenGL, Vulkan и WebGL, чтобы вы могли использовать собственный движок.
Генератор загрузчиков для C/C++ и других языков на основе официальных спецификаций OpenGL, Vulkan, EGL, GLX и WGL.
Функциональная обёртка над WebGL, которая устраняет общее состояние GPU и позволяет описывать вызовы отрисовки как команды, компилируемые в оптимизированный JavaScript.
Открытый фреймворк для компиляции моделей машинного обучения: он позволяет настраивать конвейеры компилятора на Python и развёртывать модели на разных аппаратных платформах.
Инструмент для Windows, который позволяет просматривать и редактировать профили драйверов NVIDIA, в том числе многие скрытые настройки, недоступные в панели управления NVIDIA.