2つ目の改良ポイントは、BVHに対するレイ探索に2つの新バリエーションが加わったことだ。もう少し具体的にいうと、「レイトレーシング法で描画するテーマ」ごとに、BVH内にあるAABB(直方体)の順序をハードウェアベースで並べ替える「ハードウェアによるBVHのソーティング」機能が追加されている。
「放ったレイが、3DシーンにおけるどのAABBに衝突するか?」という探索工程は、実務に置き換えると「グラフィックスメモリ上に記録されたデータ列を探索する」という作業ともいえる。そこでAMDは「なら、そのデータ(AABB)の順番を、レイトレーシングの活用目的に応じて並べ替えれば、効率の改善につながるのでは?」と考え、RTユニットにハードウェアとして実装したのだ。
上図では、3つのレイ探索モードが示されている。一番上は通常の探索モードで、真ん中と一番下がRDNA 3において新規実装されたモードとなる。
中央の「Largest First」は、放たれたレイが横切ることが想定される直方体を、大きい順に並べ直すという処理だ。放たれたレイが最初に大きなものに衝突することになるので、影生成に最適とされる。
確かに影生成では、視点から光源に向かってレイを飛ばした際に、手前に小さいオブジェクトがいくら立ち並ぼうが、結局大きいオブジェクトが光を全て遮蔽(しゃへい)してしまうので、手前のものたちが“全て”影で飲み込まれてしまう。つまり、影生成が目的のレイトレースだったら、大きいオブジェクトとの衝突判定を早期に行った方が、処理を早く完了できる可能性が高まるのだ。
下段の「Closest Midpoint First」は、放たれたレイが横切ることになる直方体群の“中心点”を求めて、近い順に並べ替えるという処理だ。このモードは、レイの発射元から近いものが一番影響を及ぼすことになる「映り込み表現」や「間接光表現」などに向いているとされる。
3Dゲームグラフィックスでは、着目しているピクセルの位置(レイの発射元)から遠いオブジェクトは、影響が少ないと判断して無視しても問題ないと判断されることも多い。そのため、先述の通り映り込みや間接光を表現するためにレイトレースする際に、このモードは都合がよくなる。
両モード共に、"ほぼ"最適化(プログラムの改修)なしに既存のレイトレ対応ゲームを高速化できる機能となる。
GPUの「レイトレーシング処理」改良の歴史をひもとく【GeForce RTX 40シリーズ編】
GPUの「レイトレーシング処理」改良の歴史をひもとく【GeForce RTX 30シリーズ編】
ゲームの中で「レイトレーシング」はどう使われる? 実例を見てみよう
費用対効果に優れ、動画に強みあり――「Radeon RX 7900 XT」「Radeon RX 7900 XTX」は真に“強い”GPUなのか?
AMDの新GPU「Radeon RX 6000」シリーズ正式発表 DirectX 12 Ultimate対応で579ドル(約6万円)からCopyright © ITmedia, Inc. All Rights Reserved.