ニュース
グラフィックスAPI「Vulkan」がリアルタイムレイトレーシングに対応。Windowsだけでなく,MacやLinuxでも利用可能に
そして北米時間4月8日には,リアルタイムレイトレーシング機能「Vul
そこで本稿では,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_
そんな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でも利用しているものだ(関連記事)。
同様に,放ったレイを制御するシェーダのアーキテクチャも,これから放つレイの定義を行い,初期化処理を行う「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: