Repolode
KhronosGroup

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. 1

    Установите Vulkan-Hpp с помощью vcpkg: клонируйте репозиторий vcpkg

    git clone https://github.com/Microsoft/vcpkg.git
  2. 2

    Выполните начальную настройку vcpkg из его каталога

    cd vcpkg && ./bootstrap-vcpkg.sh
  3. 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, чтобы вы могли использовать собственный движок.

17,6 тыс.+18 за неделю2,2 тыс.C++BSD-2-ClauseАктивно поддерживаетсяОбновлён 22 часа назад

Открытый фреймворк для компиляции моделей машинного обучения: он позволяет настраивать конвейеры компилятора на Python и развёртывать модели на разных аппаратных платформах.

13,9 тыс.+5 за неделю4 тыс.PythonApache-2.0Обновлён 17 часов назад

Инструмент для Windows, который позволяет просматривать и редактировать профили драйверов NVIDIA, в том числе многие скрытые настройки, недоступные в панели управления NVIDIA.

7,5 тыс.+27 за неделю401C#MITОбновлён 25 дней назад