お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
グラフィックスAPI「Vulkan」がリアルタイムレイトレーシングに対応。Windowsだけでなく,MacやLinuxでも利用可能に
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2020/04/20 16:00

ニュース

グラフィックスAPI「Vulkan」がリアルタイムレイトレーシングに対応。Windowsだけでなく,MacやLinuxでも利用可能に

画像集#002のサムネイル/グラフィックスAPI「Vulkan」がリアルタイムレイトレーシングに対応。Windowsだけでなく,MacやLinuxでも利用可能に
 1ヵ月ほど前の北米時間3月17日,OpenGLやVulkanなど,特定のハードウェアに依存しないオープンスタンダードなAPI規格を策定している規格化団体のKhronos Group(以下,Khronos)は,グラフィックスAPI「Vulkan」の新版で,リアルタイムレイトレーシングをサポートすると発表した。

 そして北米時間4月8日には,リアルタイムレイトレーシング機能「Vulkan Ray Tracing」の暫定版に対応する「Vulkan 1.2 SDK」が公開となり,いよいよVulkanによるレイトレーシング活用が本格的に動きだしつつある。
 そこで本稿では,Khronosによる発表や概要について,簡単に説明したい。


Vulkan 1.2の最新版に暫定版のVulkan Ray Tracingが搭載へ


 2019年8月のこと。SIGGRAPH 2019で筆者は,Khronosの代表であるNeil Trevett氏(ニール・ トレヴェット)にインタビューを行い,「OpenGLでレイトレーシングをサポートする予定はない」という回答を得ていた。

 それに対して,今回Khronosは,「新リビジョンのVulkan 1.2 SDKに暫定版のレイトレーシング対応を組み込んだ」ことを明らかにしている(関連リンク)。リアルタイムレイトレーシング対応は,OpenGLではなくVulkanで,ということだろうか。
 なお,暫定版(Provisional Version)とは,いわゆるβ版のこと。Vulkan 1.2の正式版は,2020年1月にリリース済みだが,今回のレイトレーシング暫定対応版を含むVulkan1.2は,バージョン番号が「1.2.135.0」に上がっている。開発を担当するLunarGのWebサイトでは,レイトレーシング暫定対応版のVulkan 1.2 SDKを配信中だ。

 Khronosは,暫定版となるVulkan Ray Tracingの開発コンセプトについて,「すべてのプラットフォームで使えるような仕様にまとめることを心がけて,レイトレーシングに対応するすべての現行ハードウェア(GPU)の機能を,Vulkan経由でアクセスできるような構造とした」と述べている。現在のCG業界で広く使われているレイトレーシングフレームワークには,Microsoftの「DirectX Raytracing」(以下,DXR)と,NVIDIAの「OptiX」という2種類があるが,これらを活用したアプリケーションを容易にVulkanプラットフォームに移植できるような仕様設計を心がけたそうだ。とくにシェーダアーキテクチャは,既存のVulkan資産を再利用できることにもこだわったという。

 実は,これまでのVulkan1.1でも,NVIDIAがGeForce RTX/Quadro RTXのみで動作するメーカー依存の拡張仕様として「VK_NV_ray_tracing」を提供していた(関連リンク)。それに対して,今回の暫定版Vulkan Ray Tracingは,Vulkan標準の拡張仕様である「VK_KHR_ray_tracing」として提供される(関連リンク)。

Vulkan Ray Tracingのサンプルとして公開された「Wolfenstein: Youngblood」によるリアルタイムレイトレーシング有効(左)と無効(右)の画像。実際には,NVIDIAのVK_NV_ray_tracingを用いて描画したものである
画像集#003のサムネイル/グラフィックスAPI「Vulkan」がリアルタイムレイトレーシングに対応。Windowsだけでなく,MacやLinuxでも利用可能に 画像集#004のサムネイル/グラフィックスAPI「Vulkan」がリアルタイムレイトレーシングに対応。Windowsだけでなく,MacやLinuxでも利用可能に

 そんなVulkan Ray Tracingのアーキテクチャだが,実態はほぼDirectX Ray Tracingそのままという感じだ。
 次の画像は,Vulkan Ray Tracingのブロックダイアグラムであるが,「Top Level Acceleration Structure(AS)」や「Bottom Level AS」は,3Dシーンに対して放ったレイの衝突などを判定しやすくする構造体の仕様,すなわち階層構造型の軸平行境界ボックス(AABB,Axis Aligned Bounding Boxes)における「Bounding Volume Hierarchy」(BVH)構造で,DXRでも利用しているものだ(関連記事)。

Vulkan Ray Tracingのブロックダイアグラム
画像集#005のサムネイル/グラフィックスAPI「Vulkan」がリアルタイムレイトレーシングに対応。Windowsだけでなく,MacやLinuxでも利用可能に

 同様に,放ったレイを制御するシェーダのアーキテクチャも,これから放つレイの定義を行い,初期化処理を行う「RayGen Shader」,放ったレイが何かに衝突したときに呼び出す「Intersection」,レイの射出元から最も近い場所で衝突したときに一度だけ呼び出す「Closest Hit」,何かに衝突したレイをそのまま飛ばし続けるか,あるいは推進を終了するかを処理する「Any Hit」,そして,放ったレイが何にも衝突しなかったときに呼び出す「Miss」といった具合に,これもDXRとまったく同じだ。
 これらの事実から推測するに,おそらく,DirectX Ray Tracing対応のアプリケーションは,比較的容易にVulkan Ray Tracingへ移植できるのではないだろうか。


Macやスマホにも,リアルタイムレイトレーシング技術が広がる可能性が


 さて,何度も書いているとおり,今回リリースとなったVulkan Ray Tracingは暫定版である。正式版のリリース時期は明らかになっていない。業界動向を踏まえて常識的に考えれば,AMD初のリアルタイムレイトレーシング対応GPUである「NAVI 2X」のリリース以降になるのではないだろうか。これまでKhronosは,毎年3月に行われるGame Developers Conferenceか,毎年8月に行われるSIGGRAPHのタイミングで大きな発表をするので,それらのタイミングということになるだろう。

 Vulkan Ray Tracingの価値は,リアルタイムレイトレーシング技術が,ハイエンドのWindows環境や次世代ゲーム機に限定されることなく,macOSやLinux,あるいはスマートフォンやタブレット端末をはじめとした携帯情報機器にも広がりるための道筋ができたという点にある。今後の展開が楽しみだ。

LunarGのVulkan 1.2 SDKに関するリリース(英語)

KhronosによるVulkan Ray Tracingのプレスリリース(英語)


  • 関連タイトル:

    Vulkan

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:12月11日〜12月12日