Vulkan とは
- 新しいGraphics API
- OpenGLが登場から20年以上経ってAPI設計的にも古くなってきて時代にそぐわなくなってきたので作られた
ざっくりとしたGLとVulkanの違い
OpenGL | Vulkan | |
---|---|---|
歴史 | 古い | 新しい |
スレッド | シングルスレッド前提 | マルチスレッド前提 |
メモリ管理 | ドライバが頑張る | プログラマが死ぬ気で頑張る |
GPUとの仲良し度 | ドライバが程よく仲介する | プログラマが死ぬ気でGPUとお友達になる |
プログラミングの大変さ | そこそこ簡単 | GPUのアーキテクチャをある程度理解しよう。話はそれからだ。 |
Windows PCでとりあえず実行してみる
ドライバを入れる
- Windows10 64bit proで動作確認
- Vulkan対応ドライバをインストールする
- NVIDIAで普通にDLできる
- https://developer.nvidia.com/vulkan-driver
- Kepler世代以降が対応してる模様
- GPU名は直接的に書かれていないが、Maxwell世代も普通に使える
- Quadro M1000M(モバイルワークステーション向けのGPU)ではインストール可能
- インストールするとOpenGLからもVulkan系の拡張が使えるようになる
- GL_NV_draw_vulkan_image が使える
SDKを入れる
- 最新はWindowsの場合 Vulkan 1.0.3
- サイトの登録(無料)が必要
- https://vulkan.lunarg.com
- Vulkanサイトからリンクされているので、多分間違いないと思う
- デフォルトだと C:\VulkanSDK にインストールされる
バンドルされているデモを実行する
- SDKと一緒にvulkaninfoというアプリがインストールされるので、実行するとPCのVulkan API情報を表示できる
- cube.exeとかtri.exeとかも
- それっぽいサンプルが実行される模様
ドキュメントが読みたい
- Khronosがgithubで用意している
サンプルコードを見たい
- Khronosがgithubで用意している
-
https://github.com/KhronosGroup/Vulkan-Samples
- アクセスしたかい?悲しみに暮れよう!!
-
https://github.com/KhronosGroup
- 他にもいろいろある
- コメントにもありましたが、Windows版SDKを入れるとサンプルも入るようです
-
https://github.com/KhronosGroup/Vulkan-Samples
Androidで実行したい
- NVIDIAがVulkanをimplしたOSイメージを用意している
- SHIELD TABLET / SHIELD TABLET K1(バッテリー問題解消後のバージョン) / SHIELD TVが対応
-
https://developer.nvidia.com/vulkan-android
- 必要事項をメールで送ったら、数時間でSHIELD TABLETに対して直接OTAが降ってきます
- インストールすれば、Android 6.0.1(Vulkan対応版)を導入できます
- Android NDKにも組み込まれる模様