1. トップ
  2. 新着ニュース
  3. IT
  4. パソコン

GPUの「レイトレーシング処理」改良の歴史をひもとく【Radeon RX 7000シリーズ編】

ITmedia PC USER / 2024年8月23日 20時5分

 まず大前提の知識として、レイトレーシング処理をする場合でも、ライティングや陰影処理の実務は結局、RTユニットではなくプログラマブルシェーダーユニットが担当する。このことは、この連載を読んできた読者なら改めて解説する必要もないだろう。

 このことを踏まえた上で、レイトレーシングの処理系を改めて思い出してみよう。レイが衝突した先のポリゴンに設定された各材質ごとの陰影計算の実務は、プログラマブルシェーダーが呼び出だれて実行される。その際に、プログラマブルシェーダーは材質表現にひも付けられているテクスチャーを読み出すことになる。

 テクスチャーを読み出すには、テクスチャーアドレスの計算が必要だ。そのテクスチャーにMIPMAP(ミップマップ)が設定されている場合は、そのレベルも算定しなければならない。最終的なテクスチャーの読み出し値は、「1点読み出し(ポイントサンプル)ではなく、MIPMAPを絡めて複数点を読み出した上で計算された「特殊な加重平均(異方性フィルタリングなど)」となる。

 AMDの分析によると、近代GPUで実践されるリアルタイムレイトレーシングの処理系では、この特殊な加重平均を行う処理系が大きなボトルネックになっているケースが多いのだという。先代のRDNA 2におけるRTユニットでは、言葉を選ばずにいえば“ばか正直に”この処理を行っていた。「その何が問題なのか?」と思うかもしれないが、そうなるとMIPMAPレベルの算定段階で「テクスチャーを読んでも読まなくても結果に差異なし」というレイに対しても、後段の処理が行われてしまうことが問題となる。

 そこでRDNA 3のRTユニットでは、プログラマブルシェーダーユニットに陰影処理を外注する前に、RTユニット側からテスクチャのMIPMAPレベルの算定を行えるメカニズムを導入した。これが本改良の第1ステップとなる。

 続く第2ステップは、「テクスチャーを読んでも読まなくても結果に差異なし」と見込まれるリクエストを“捨てる”処理系の実装だ。このステップを踏むことで、本当に必要な陰影処理だけが、プログラマブルシェーダーで実践されることになる。

 先に挙げたスライドの図解はとても難解だが、結局は有効なテクスチャーの読み出し(=青いマス)だけを有効化し、不要なテクスチャーの読み出し(=赤いマス)は破棄するという説明だったのだ。

 リアルタイムレイトレーシング技術において、AMDは「テクスチャーのフィルタリング処理は、非常に重要な処理系だ」「この処理系の高効率化は、レイトレーシングのパフォーマンスと、画質の最適化にも直結する」と主張している。地味ながらも、大きな効果を発揮しているのだろう。

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください