Repolode
KhronosGroup

KhronosGroup/Vulkan-Hpp

Vulkan C APIのヘッダーオンリーC++バインディング。型安全なenum、STL対応、例外、RAIIハンドルを提供します。

スター
3,818
フォーク
374
未解決の Issue
29
最終コミット
3 日前

これは何?

Vulkan-Hppは、Vulkan C APIをラップするヘッダーオンリーのC++ラッパーです。実行時のCPUオーバーヘッドを増やさずに、C++でVulkanコードを書きやすくすることを目指しています。enumやビットフィールドの型安全性、STLコンテナ対応、例外ベースのエラーハンドリングに加え、RAIIに対応する複数のハンドル型を提供します。

このリポジトリには、VulkanのXML仕様を読み込んでC++ヘッダーを生成するジェネレーターが含まれています。ドキュメントでは、ヘッダーのビルドと再生成方法、使用例、設定マクロ、およびunique_ptrのようなセマンティクス、shared_ptrのようなセマンティクス、vk::raiiのセマンティクスを提供する3種類のハンドルファミリーについて説明しています。Vulkan C APIの設定マクロも引き続き利用できます。

ヘッダーはLunarG Vulkan SDKとKhronos Vulkan-Headersリポジトリに同梱されており、vcpkgとConanでもパッケージとして提供されています。継続的インテグレーションでは、Windows、Linux、macOS(MoltenVK経由)上でGCC、Clang、MSVCをテストしています。

主な機能

  • 01ヘッダーオンリーで、別途ライブラリをリンクする必要がない
  • 02型安全なenumとビットフィールド
  • 03STLコンテナ対応と例外ベースのエラーハンドリング
  • 04vk::raiiを含む複数のRAIIハンドルファミリー
  • 05公式のVulkan XML仕様から生成されるヘッダー
  • 06Vulkan SDK、vcpkg、Conanから利用可能

ユースケース

  • モダンなC++でVulkanレンダラーやコンピュート処理を書く
  • Vulkanアプリケーションの定型コードと手動でのリソース解放を減らす
  • 名前付きのvulkanモジュールを使ってC++モジュール対応のVulkanプロジェクトをビルドする

クイックスタート

  1. 1

    vcpkgでVulkan-Hppをインストールする:vcpkgリポジトリをクローンする

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

    vcpkgのディレクトリからvcpkgをブートストラップする

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

    Vulkan-Hppを含むvulkan-headersポートをインストールする

    ./vcpkg install vulkan-headers

使う前に知っておきたいこと

  • 使用する機能によっては、C++モジュールまたは新しいC++標準に対応したC++コンパイラが必要です。
  • 推奨されるインストール方法はLunarG Vulkan SDKの利用であるため、単独で使用する場合は追加のセットアップが必要になることがあります。

収録されている特集

トピック

よくある質問

Vulkan-Hpp とは?
Vulkan C APIのヘッダーオンリーC++バインディング。型安全なenum、STL対応、例外、RAIIハンドルを提供します。 Vulkan-Hppは、Vulkan C APIをラップするヘッダーオンリーのC++ラッパーです。実行時のCPUオーバーヘッドを増やさずに、C++でVulkanコードを書きやすくすることを目指しています。enumやビットフィールドの型安全性、STLコンテナ対応、例外ベースのエラーハンドリングに加え、RAIIに対応する複数のハンドル型を提供します。
Vulkan-Hpp は無料で使えますか?ライセンスは?
Vulkan-Hpp は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
Vulkan-Hpp は今もメンテナンスされていますか?
活発にメンテナンス中。Vulkan-Hpp の最終コミットは 2026年11月4日 です。
Vulkan-Hpp は何に使えますか?
モダンなC++でVulkanレンダラーやコンピュート処理を書く Vulkanアプリケーションの定型コードと手動でのリソース解放を減らす 名前付きのvulkanモジュールを使ってC++モジュール対応のVulkanプロジェクトをビルドする
Vulkan-Hpp のインストール方法は?
vcpkgでVulkan-Hppをインストールする:vcpkgリポジトリをクローンする: git clone https://github.com/Microsoft/vcpkg.git vcpkgのディレクトリからvcpkgをブートストラップする: cd vcpkg && ./bootstrap-vcpkg.sh Vulkan-Hppを含むvulkan-headersポートをインストールする: ./vcpkg install vulkan-headers
Vulkan-Hpp はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/KhronosGroup/Vulkan-Hpp

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト