Repolode
KhronosGroup

KhronosGroup/Vulkan-Hpp

Vulkan C API 的纯头文件 C++ 绑定,提供类型安全枚举、STL 支持、异常与 RAII 句柄。

Star
3,818
Fork
374
未关闭 Issue
29
最近提交
3天前

这是什么?

Vulkan-Hpp 是对 Vulkan C API 的纯头文件 C++ 封装,目标是在不增加运行时 CPU 开销的前提下,让 Vulkan 代码更易于用 C++ 编写。绑定提供枚举与位域的类型安全、STL 容器支持、基于异常的错误处理,以及多种支持 RAII 的句柄类型。

仓库中包含生成器,它读取 Vulkan 的 XML 规范并输出 C++ 头文件。文档涵盖头文件的构建与重新生成、使用示例、配置宏,以及三类句柄(类似 unique_ptr、shared_ptr 和 vk::raii 语义)。C API 的配置宏同样可用。

头文件随 LunarG Vulkan SDK 和 Khronos Vulkan-Headers 仓库分发,并已提供 vcpkg 与 Conan 包。持续集成覆盖 Windows、Linux 和 macOS(通过 MoltenVK)上的 GCC、Clang 与 MSVC。

核心功能

  • 01纯头文件,无需单独链接库
  • 02枚举与位域的类型安全
  • 03支持 STL 容器与基于异常的错误处理
  • 04提供多种 RAII 句柄,包括 vk::raii
  • 05头文件由官方 Vulkan XML 规范生成
  • 06可通过 Vulkan SDK、vcpkg 和 Conan 获取

适用场景

  • 使用现代 C++ 编写 Vulkan 渲染器或计算代码
  • 减少 Vulkan 应用中的样板代码与手动资源释放
  • 在使用 C++ 命名模块的项目中引入 vulkan 模块

快速上手

  1. 1

    通过 vcpkg 安装 Vulkan-Hpp:克隆 vcpkg 仓库

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

    在 vcpkg 目录中运行引导脚本

    cd vcpkg && ./bootstrap-vcpkg.sh
  3. 3

    安装包含 Vulkan-Hpp 的 vulkan-headers 组件

    ./vcpkg install vulkan-headers

使用前须知

  • 需要支持较新 C++ 标准的编译器,具体取决于所用功能。
  • README 推荐通过 LunarG Vulkan SDK 安装,单独使用可能需要额外配置。

收录于专题

标签

常见问题

Vulkan-Hpp 是什么?
Vulkan C API 的纯头文件 C++ 绑定,提供类型安全枚举、STL 支持、异常与 RAII 句柄。 Vulkan-Hpp 是对 Vulkan C API 的纯头文件 C++ 封装,目标是在不增加运行时 CPU 开销的前提下,让 Vulkan 代码更易于用 C++ 编写。绑定提供枚举与位域的类型安全、STL 容器支持、基于异常的错误处理,以及多种支持 RAII 的句柄类型。
Vulkan-Hpp 可以免费使用吗?用的什么许可证?
Vulkan-Hpp 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
Vulkan-Hpp 还在维护吗?
活跃维护中。Vulkan-Hpp 最近一次提交是在 2026年11月4日。
Vulkan-Hpp 适合用来做什么?
使用现代 C++ 编写 Vulkan 渲染器或计算代码 减少 Vulkan 应用中的样板代码与手动资源释放 在使用 C++ 命名模块的项目中引入 vulkan 模块
Vulkan-Hpp 怎么安装和运行?
通过 vcpkg 安装 Vulkan-Hpp:克隆 vcpkg 仓库: git clone https://github.com/Microsoft/vcpkg.git 在 vcpkg 目录中运行引导脚本: cd vcpkg && ./bootstrap-vcpkg.sh 安装包含 Vulkan-Hpp 的 vulkan-headers 组件: ./vcpkg install vulkan-headers
在哪里获取 Vulkan-Hpp?
源代码和安装说明在 GitHub 上:https://github.com/KhronosGroup/Vulkan-Hpp

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目