コンピューターグラフィックス業界では、「リアルタイムレイトレーシング」の実現は1つの大きな目標とされてきた。
AMDもRDNA 2アーキテクチャ世代でようやくリアルタイムレイトレーシングの“土俵”に上がることができた。PlayStation 5やXbox Series X|Sに搭載されたAMD製のAPU(GPU統合型CPU)でも、GPUコアにリアルタイムレイトレーシングエンジンを搭載している。「ゲームにおけるレイトレ時代」は、既に幕が上がったと考えてもよいだろう。
しかし、レイトレーシングという技術は、アルゴリズムがシンプルであるがゆえに、処理の負荷は大きい。筆者も連載で言及した通り、現在の処理能力では、ゲームグラフィックスの全要素にリアルタイムレイトレーシング処理を行うことは無理である。ラスタライズ法とレイトレーシング法を併用する「ハイブリッドの時代」が当面続くことになるだろう。
そこで気になるのは、AMDがレイトレーシングというテーマにどのように取り組み、GPUの性能面においてどのような進化を与えるか、という一種の「ロードマップ」である。競合のNVIDIAは、2019年時点において「2035年に全てのゲームグラフィックスをレイトレーシングで賄いたい」と語っていた(参考リンク)。AMDも同じ考え方なのだろうか。ワン氏とバーグマン氏に聞いてみよう。
ワン氏 西川さんがおっしゃる通り、我々は今、ラスタライズ法とレイトレーシング法のハイブリッド時代を生きています。この時代を駆け抜けてく上で、GPUのレイトレーシング性能の向上に注力することは間違いありません。
RDNA 3では、レイトレーシング性能をRDNA 2比で最大60%向上できました。今後の新世代GPUも、このペースを保って性能向上していくことになるでしょう。
このハイブリッド時代において、AMDはゲーム開発者を支援する取り組みにも力を入れています。その一例が、レイ予算(レイトレーシングの際、単位時間当たりに放てるレイの本数)が少ない場合に起こりがちなグラフィックスのノイズを軽減する「デノイザー」の提供です。
この「デノイザー」は、「AMD FidelityFX Denoiser」のことである。AMDではオープンソースサイト「GPUOpen」において、影用デノイザー(Shadow Denoiser)や鏡像用デノイザー(Reflection Denoiser)を提供しているのだ。
バーグマン氏 FidelityFXというと、超解像技術である「FidelityFX SuperResolution(FSR)」は聞いたことがあるという人も多いと思います。FSRも、レイトレーシングを活用するでは有効な技術です。低解像度の映像に対してレイトレーシング処理をして、それを高解像度かつ高品位な映像に仕上げるのに貢献しますから。
ワン氏 影生成などにおいて、遠方の情景に対する影までレイトレーシングで作る意味はないでしょう。プレイヤーの近くに見える、近景の影生成のみをレイトレーシングに任せればいいはずです。閃光などのエフェクトも同様で、ラスタライズ法による「パーティクルエフェクト」で十分な場合が多いと思います。
このように、現在のハイブリッド時代では、ゲーム開発者が賢くレイトレーシング法とラスタライズ法を使い分ける、いうなれば「スマートレンダリング」を意識する必要があると考えています。当面、私たちはこれを支援する取り組みに力を入れて行くことになります。
現在のGPUにおけるレイトレーシングのパイプラインは、長年に渡ってソフトウェアベースで実践されてきた概念を「ひとまずハードウェア化しました」というものに等しい。
最近は「GPUがリアルタイムレイトレーシングに対応しました!」と、もてはやされることもあるが、そうしたGPUに搭載される「レイトレーシングユニット」と呼ばれるハードウェアが実際にやっているのは交差判定処理だけである。
もう少し具体的にいえば、階層的な「AABB(Axis-Aligned Bounding Boxes:軸並行境界ボックス)」で表現した3D構造体に対して、入力されたレイが衝突しているか否かを判定し、衝突している場合は階層を潜っていき、ぶつかるべきポリゴンを探しているだけなのだ。
一方、描画の“実務”に相当する陰影の計算は、従来通りプログラマブルシェーダーに“外注”している状況にある。
先にも少し触れた通り、レイトレーシング処理はシンプルゆえに負荷が大きい。GPUのレイトレーシングユニットに視点を移すと、グラフィックスエンジン自体の演算負荷よりも、むしろグラフィックスメモリへのアクセスにおける負荷が大きくなる。ループ処理(あるいはそれに近いもの)を幾度となく課されるため、実務的にはメモリシステムへ相当に負荷の高い仕事を強いてしまうのだ。
しかも、苦労の末、衝突先のポリゴンを突き止めたとしても、そこに貼られたテクスチャに透明部分があって、たまたまそこにレイが当たったとなると、「ご苦労様でした。そこにぶつかっても意味はありません」という感じで“骨折り損”になってしまう。
気苦労(?)が絶えないレイトレーシングユニットだが、AMDはどのように進化させるつもりなのだろうか。ワン氏はこう語る。
ワン氏 我々は当面の間、現状のレイトレーシングパイプラインに対して緻密な改良を行っていく計画を持っています。RDNA 2からRDNA 3へのアップデートでは、「レイフラグのハードウェア処理」「ハードウェアによるBVH(Bounding Volume Hierarchy:データ階層)の並べ替え」「ハードウェアによる不要なテクスチャの読み出し破棄」といった仕組みを導入することでレイトレーシング処理のパフォーマンスを最大60%向上できました。
今後リリースされるであろう「RDNA 4アーキテクチャ(仮称)」でも、現在のレイトレーシングパイプラインに対して「実行効率の向上」と「柔軟性の高い処理系の実現」に向けて改良を施していきます。ただし、機能拡張において“専用のハードウェア”をどのくらい搭載するかは、当然ながらコストとのバランスを考えて検討します。何度も言っている通り、ハイエンドGPUであれば999ドルで販売できることを重視するということですね(笑)。
Copyright © ITmedia, Inc. All Rights Reserved.