Skip to content

Latest commit

 

History

History
42 lines (24 loc) · 4.39 KB

what_is_vulkan.adoc

File metadata and controls

42 lines (24 loc) · 4.39 KB

Vulkan とは?

Note

Vulkan は、PC やゲーム機、携帯電話、組み込みプラットフォームなど、さまざまな機器に搭載されている最新の GPU に対して、クロスプラットフォームで高効率にアクセスできる新世代のグラフィックスおよびコンピュート API です。

Vulkan は、企業でも言語でもなく、最新の GPU ハードウェアをクロスプラットフォーム、クロスベンダーでプログラミングするための手段です。Khronos Group は、Vulkan の開発と維持を行っている会員制のコンソーシアムです。

Vulkan の中心

本質的に、Vulkan は適合するハードウェアの実装が従う API 仕様です。公開されている仕様は、Vulkan Specification リポジトリの公式公開コピーの Vulkan-Docs にある ./xml/vk.xml Vulkan Registry ファイルから生成されています。また、XML スキーマのドキュメントも用意されています。

Khronos Group は、Vulkan Specification とともに、API Registry から生成された C99 ヘッダファイルを公開しており、Vulkan API のインターフェイスに使用することができます。

C言語を扱わない人のために、さまざまな言語バインディングも用意されています。

Vulkan と OpenGL

同じ 3D グラフィックス API である Khronos Group の規格 OpenGL をご存知の方もいるかもしれません。Vulkanは OpenGL を直接置き換えるものではなく、GPU をより明示的に制御するための API です。

Khronos の Vulkan Samples の記事「Vulkan と OpenGL ES との比較は? Vulkan に何を期待するべきか?」 では、2つの API をより詳しく比較しています。

what_is_vulkan_compared_to_gl.png

Vulkan はアプリケーションに多くの作業と責任を課します。すべての開発者がこのような追加投資を望むわけではありませんが、適切に実装することでパワーとパフォーマンスが向上します。

what_is_vulkan_decision.png

ライブラリの利用

ヘルプ無しで Vulkan を使ってみたいという開発者もいるかもしれませんが、Vulkan の面倒な部分を抽象化するために軽いライブラリを使うのが一般的です。開発に役立つライブラリを紹介します。

what_is_vulkan_layer

Vulkan の使い方を学ぶ

Vulkan は、ハードウェアアクセラレーションを利用するアプリケーションを作成するためのツールです。この Vulkan Guide では、拡張機能、バージョン、仕様など、よりロジカルな内容をカバーしています。Hello World Triangle のようなアプリケーション作成のための Vulkan の使い方については、Khronos の Vulkan 学習ページをご覧ください。また、より実践的なヘルプや知識を得たい場合は、Khronos Developer SlackKhronos Community Forums に気軽に参加してください!