グラフィックに Vulkan を使用する

Vulkan は、デバイスのグラフィック ハードウェアとゲームの間の抽象化を最小限に抑えるために設計された最新のクロス プラットフォーム 3D グラフィック API です。Vulkan は Android の主要な低レベル グラフィック API であり、OpenGL ES に代わるものです。OpenGL ES は Android で引き続きサポートされますが、機能の開発は行われなくなります。Vulkan には OpenGL ES に比べて次のような利点があります。

  • グラフィック ドライバでの CPU オーバーヘッドが低減された、より効率的なアーキテクチャ
  • CPU パフォーマンスを向上させる新しい最適化戦略
  • OpenGL ES では利用できない新しいグラフィック機能(バインドレス API やレイ トレーシングなど)

Vulkan は Android 7(API レベル 24)以降の Android で利用できます。Android 10(API レベル 29)以降の 64 ビット Android デバイスはすべて Vulkan 1.1 をサポートしています。アクティブな Android デバイスの 85% が Vulkan をサポートしています。Android ベースライン プロファイルでは、Vulkan 対応デバイス向けの最小限の機能セットが定義されています。

Vulkan を使用すると、外観とパフォーマンスがより優れたゲームを作成できます。Vulkan は最新のグラフィック ハードウェアの可能性を最大限に引き出します。Vulkan は、対応デバイスの Android UI レンダリング フレームワークによって使用されます。Unity および Unreal ゲームエンジンの現在のバージョンでは、対応する Android デバイスでのデフォルトのレンダラとして Vulkan が選択されています。ANGLE プロジェクトでは、Vulkan 上で OpenGL ES API の適切な実装を提案しています。

始める

C/C++

Android の C/C++ ゲームエンジンで Vulkan を使用する方法については、Android で Vulkan を使ってみるをご覧ください。

さらに、Native Development Kit(NDK)のドキュメントに、ゲーム以外のデベロッパー向けの一般的な Vulkan セクションがあり、以下のトピックについて説明しています。

ゲームエンジン