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

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

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

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

LINEで4Gamerアカウントを登録
[GDC 2018]西川善司の3DGE:DirectX RaytracingにRTX,Optix,ProRenderにRadeon Rays。“レイトレだらけ”の状況をすっきりさせてみる
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2018/03/23 13:55

連載

[GDC 2018]西川善司の3DGE:DirectX RaytracingにRTX,Optix,ProRenderにRadeon Rays。“レイトレだらけ”の状況をすっきりさせてみる

 GDC 2018における3Dグラフィックス技術関連で最大のトピックがレイトレーシングであることに疑いの余地はない。そのうち,MicrosoftがDirectX 12にレイトレーシングパイプラインを統合した「DirectX Raytracing」(以下,DXR)と,実際にそれを「Northlight」エンジンに組み込んだRemedy Entertainmentの事例はすでにお伝え済みだ(関連記事関連記事2)。

Remedy Entertainmentは早くも自社のゲームエンジンにDXRを統合し,その技術デモを披露した
画像集 No.002のサムネイル画像 / [GDC 2018]西川善司の3DGE:DirectX RaytracingにRTX,Optix,ProRenderにRadeon Rays。“レイトレだらけ”の状況をすっきりさせてみる

RTXベースのレイトレーシング結果サンプル画像
画像集 No.003のサムネイル画像 / [GDC 2018]西川善司の3DGE:DirectX RaytracingにRTX,Optix,ProRenderにRadeon Rays。“レイトレだらけ”の状況をすっきりさせてみる
 ここで注意したいのは,2大GPUメーカーも,それぞれのレイトレーシングエンジンを持っていることだ。NVIDIAはGDC 2018で「RTX Technology」(以下,RTX)を発表したが(関連記事),そもそも同社は2009年の時点で「Optix Engine」(以下,Optix)を発表済みである(関連記事)。
 対するAMDは,GDC 2018のタイミングでこれといった発表こそ行っていないものの,レイトレーシングエンジン「Radeon ProRender」と,関連するレイ投射システム「Radeon Rays」をすでに持っている(関連記事)。

 こうやって並べてみると,さながら群雄割拠であって,何と何が関連しているのかすらよく分からなくなってきたという読者も少なくないのではなかろうか。……ということで今回は,突如として次世代の3Dグラフィックス技術として本命視されるに至ったレイトレーシングについて,その現状を整理してみたい。


NVIDIAのRTXとOptixは何が違う? なぜRTXはVoltaでしか動かない?


 まずはNVIDIA側の状況整理から入ろうと思うが,大前提として,DXRとRTXは競合するものではないということを押さえておく必要がある。

DXRとRTXの関連性
画像集 No.004のサムネイル画像 / [GDC 2018]西川善司の3DGE:DirectX RaytracingにRTX,Optix,ProRenderにRadeon Rays。“レイトレだらけ”の状況をすっきりさせてみる

 DXRは,Windows 10環境にあるDirectXフレームワークの中でレイトレーシングを行うためのフロントエンドを務める存在だ。そのため,実際にGPUを駆動してレイトレーシングを行う機能はGPUベンダーがドライバモジュールとして提供することになるが,このドライバモジュールに相当するのがRTXなのだ。
 つまり,DXRを使って開発されたソフトウェアがNVIDIA製GPU搭載システム上で動作するときはRTXが動いて機能を果たすということになる。

NVIDIAが発表しているRTXのソフトウェアスタック。下に行けば行くほどハードウェアに近いが,これを見ると,DXRはフロントエンドで,RTXは実務モジュールだというのが分かりやすい
画像集 No.005のサムネイル画像 / [GDC 2018]西川善司の3DGE:DirectX RaytracingにRTX,Optix,ProRenderにRadeon Rays。“レイトレだらけ”の状況をすっきりさせてみる

 では,そんなRTXの正体は何かだが,「コア技術はOptiXそのもの」だと筆者は見ている。

 Optixは,NVIDIA製GPUベースのGPGPUフレームワークである「CUDA」で動作するレイトレーシングエンジンだ。というか,レイトレーシングに必要な処理系をすべて備えているので,「エンジン」ではなく「スイート」と呼んだほうが正確かもしれない。

 GDC 2018で業界関係者に聞き込んで得た情報を総合するに,どうやらDXRは,Optixのアーキテクチャを基にしたサブセット的なものとして設計されたようである。ただ,繰り返すがあくまでもDXRは抽象化レイヤーに相当するフロントエンド的な存在なので,実際に特定のGPUを駆動するためのソフトウェアモジュールは有していない。
 そして,そんなOptiXが持つレイトレーサーのコア部分をDXRの仕様に合わせて最適化し,CUDAベースのソフトウェアとしてではなく,性能を稼ぐためVolta世代のGPUへ最適化してネイティブ動作させることにしたのがRTXとなる。付け加えると,NVIDIAのエンジニアいわく,現バージョンのRTXはVolta世代のGPUが搭載するTensor Coreも動員する設計になっているとのことだ。

 OptixはCUDAベースで,NVIDIA製GPUに広く対応するはずなのに,同じアーキテクチャを採用するはずのRTXがGPUをVolta世代に限定している理由はここにある。

RTXがVolta世代のGPUでしか動作しないと聞いて驚いた人も多いだろう
画像集 No.006のサムネイル画像 / [GDC 2018]西川善司の3DGE:DirectX RaytracingにRTX,Optix,ProRenderにRadeon Rays。“レイトレだらけ”の状況をすっきりさせてみる

 なら,現行のGeForceが採用するPascalアーキテクチャやそれ以前のGPUでRTXが利用できないかと言うと,必ずしもそうではない。DXRはフォールバックシステムを採用する予定なので,ワーストケースではCPUベースのレイトレーシングエンジンが動作するはずだ(笑)。
 冗談を抜きにすると,Pascal世代以前のGPU対しては,「CUDAベースであるOptixのレイトレーシングエンジンをDXR仕様に合わせたもの」が提供されるのではないか。筆者はそう考えている。


AMDはDXRにどう対応するのか


 一方のAMDだが,DXRの出自が出自だからなのか,公式には現在のところ,無言である。
 今回のGDC 2018で筆者は,AMDでゲームデベロッパ支援を担当しているISV RelationsチームのFrank Vitzディレクターにインタビューする機会を得たのだが,「DXRに対するAMDの動きは?」という質問に対する氏の回答は「現在のところ,DXR対応に関する明快な回答を持ち合わせていない。ただ,対応していくことだけは間違いない」というものに留まっている。

GDC 2018におけるAMDのセッションより。Radeon ProRenderのSDKアップデートに関するスライド
画像集 No.008のサムネイル画像 / [GDC 2018]西川善司の3DGE:DirectX RaytracingにRTX,Optix,ProRenderにRadeon Rays。“レイトレだらけ”の状況をすっきりさせてみる
 GDC 2018でAMDは,「Real-Time Ray-Tracing Techniques for Integration into Existing Renderers」(既存のレンダラーへ統合するための,リアルタイムレイトレーシング技術)というセッションを主催し,ここでRadeon ProRenderとRadeon Raysの紹介を行ったが,そこでもDXRへの対応に関する言及はなかった。

 ただ筆者は,別のAMD関係者から,「Radeon RaysをDXRへ対応させることになるのではないか」というコメントを引き出すことができた。実際,Radeon ProRenderとRadeon Raysのコアモジュールから必要な部分を取り出し,DXR対応ラッパーを被せて動作させるのが最も手っ取り早い対応策になるのではないかとは,筆者も思う。

 しかし,そこで懸念されるのは性能面だ。Radeon ProRenderもRadeon RaysもOpenCLベースの実装なので,「動作にRadeonやRadeon Proが必要」という制限はなく,CPUでも,NVIDIA製GPUでも実行できる。それこそFuturemarkが予告しているような「DXRの性能評価ベンチマーク」における競合との戦いを想定した場合には,異なるアプローチが迫られるのではないかという気はする。

AMDはRadeon ProRenderとRadeon Raysという2つのレイトレーシングソリューションを持つ。ともにOpenCLベースで動作互換性が高く,CPUはもちろんのこと,NVIDIA製GPUでも動作する
画像集 No.007のサムネイル画像 / [GDC 2018]西川善司の3DGE:DirectX RaytracingにRTX,Optix,ProRenderにRadeon Rays。“レイトレだらけ”の状況をすっきりさせてみる

 AMDのレイトレーシング技術自体は業界でもトップレベルの先進性があるが,ことにDXR対応ということになると,NVIDIAに対して少し遅れることになるかもしれない。


レイトレーシングソリューションが,NVIDIAとAMDの新たな戦場か


 DirectXが進化してきた歴史の過程で,DirectXのジャンプアップ時にNVIDIAとAMD(もしくはAMDが買収する前のATI Technologies)どちらの技術をベースにして取り組むかにより,「採用されなかった側の対策」が遅れることはこれまでもあった。たとえば,DirectX 9.0cのVTF(Vertex Texture Fetching)はNVIDIAの技術ベースだったため,ATI Technologies側の対応は遅れに遅れた。一方,DirectX 11におけるテッセレーションステージのアーキテクチャはATI Technoligiesのそれをベースとしていたため,性能面でNVIDIAは長きにわたって遅れを取ることになった過去がある。

 その意味において,DXRがNVIDIAベースの技術を採用している以上,NVIDIAの動きが速く,AMDがそうでないというのは,「まあそうなるよね」という話以上でも以下でもない。AMDが早急にキャッチアップしてくれば,DXRがNVIDIAとAMDの新しい“戦場”ということになるだろう。

 ただ,歴史を振り返ってみると,2大GPUメーカーの足並みが揃わなかったVTFやテッセレーション技術はその後,あまり採用が進まなかったりもしている。さて,今回のDXRは……?

[GDC 2018]ついにDirectXがレイトレーシングパイプラインを統合。「DirectX Raytracing」が立ち上がる

[GDC 2018]NVIDIA,ゲーム向けのリアルタイムレイトレーシング技術「RTX」を発表

[GDC 2018][西川善司の3DGE]DirectX Raytracingでゲームグラフィックスは何が変わるのか。「Quantum Break」のRemadyが示す,その方向性

[GDC 2018]Futuremark,「DirectX Raytracing」ベースとなるリアルタイム技術デモのムービーを公開


4GamerのGDC 2018記事一覧

  • 関連タイトル:

    DirectX

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