Note
|
Vulkan は、PC やゲーム機、携帯電話、組み込みプラットフォームなど、さまざまな機器に搭載されている最新の GPU に対して、クロスプラットフォームで高効率にアクセスできる新世代のグラフィックスおよびコンピュート API です。 |
Vulkan は、企業でも言語でもなく、最新の GPU ハードウェアをクロスプラットフォーム、クロスベンダーでプログラミングするための手段です。Khronos Group は、Vulkan の開発と維持を行っている会員制のコンソーシアムです。
本質的に、Vulkan は適合するハードウェアの実装が従う API 仕様です。公開されている仕様は、Vulkan Specification リポジトリの公式公開コピーの Vulkan-Docs にある ./xml/vk.xml Vulkan Registry ファイルから生成されています。また、XML スキーマのドキュメントも用意されています。
Khronos Group は、Vulkan Specification とともに、API Registry から生成された C99 ヘッダファイルを公開しており、Vulkan API のインターフェイスに使用することができます。
同じ 3D グラフィックス API である Khronos Group の規格 OpenGL をご存知の方もいるかもしれません。Vulkanは OpenGL を直接置き換えるものではなく、GPU をより明示的に制御するための API です。
Khronos の Vulkan Samples の記事「Vulkan と OpenGL ES との比較は? Vulkan に何を期待するべきか?」 では、2つの API をより詳しく比較しています。
Vulkan はアプリケーションに多くの作業と責任を課します。すべての開発者がこのような追加投資を望むわけではありませんが、適切に実装することでパワーとパフォーマンスが向上します。
Vulkan は、ハードウェアアクセラレーションを利用するアプリケーションを作成するためのツールです。この Vulkan Guide では、拡張機能、バージョン、仕様など、よりロジカルな内容をカバーしています。Hello World Triangle のようなアプリケーション作成のための Vulkan の使い方については、Khronos の Vulkan 学習ページをご覧ください。また、より実践的なヘルプや知識を得たい場合は、Khronos Developer Slack や Khronos Community Forums に気軽に参加してください!