GPUの「レイトレーシング処理」改良の歴史をひもとく【Radeon RX 7000シリーズ編】レイトレーシングが変えるゲームグラフィックス(第6回)(3/5 ページ)

» 2024年08月23日 20時00分 公開
[西川善司ITmedia]
※本記事はアフィリエイトプログラムによる収益を得ています

改良ポイント2:ハードウェアによるBVHのソーティング

 2つ目の改良ポイントは、BVHに対するレイ探索に2つの新バリエーションが加わったことだ。もう少し具体的にいうと、「レイトレーシング法で描画するテーマ」ごとに、BVH内にあるAABB(直方体)の順序をハードウェアベースで並べ替える「ハードウェアによるBVHのソーティング」機能が追加されている。

 「放ったレイが、3DシーンにおけるどのAABBに衝突するか?」という探索工程は、実務に置き換えると「グラフィックスメモリ上に記録されたデータ列を探索する」という作業ともいえる。そこでAMDは「なら、そのデータ(AABB)の順番を、レイトレーシングの活用目的に応じて並べ替えれば、効率の改善につながるのでは?」と考え、RTユニットにハードウェアとして実装したのだ。

専任サービス この資料で示された下2つが、RDNA 3のRTユニットにハードウェアとして実装されたBVHのソーティング機能となる

 上図では、3つのレイ探索モードが示されている。一番上は通常の探索モードで、真ん中と一番下がRDNA 3において新規実装されたモードとなる。

 中央の「Largest First」は、放たれたレイが横切ることが想定される直方体を、大きい順に並べ直すという処理だ。放たれたレイが最初に大きなものに衝突することになるので、影生成に最適とされる。

 確かに影生成では、視点から光源に向かってレイを飛ばした際に、手前に小さいオブジェクトがいくら立ち並ぼうが、結局大きいオブジェクトが光を全て遮蔽(しゃへい)してしまうので、手前のものたちが“全て”影で飲み込まれてしまう。つまり、影生成が目的のレイトレースだったら、大きいオブジェクトとの衝突判定を早期に行った方が、処理を早く完了できる可能性が高まるのだ。

 下段の「Closest Midpoint First」は、放たれたレイが横切ることになる直方体群の“中心点”を求めて、近い順に並べ替えるという処理だ。このモードは、レイの発射元から近いものが一番影響を及ぼすことになる「映り込み表現」や「間接光表現」などに向いているとされる。

 3Dゲームグラフィックスでは、着目しているピクセルの位置(レイの発射元)から遠いオブジェクトは、影響が少ないと判断して無視しても問題ないと判断されることも多い。そのため、先述の通り映り込みや間接光を表現するためにレイトレースする際に、このモードは都合がよくなる

 両モード共に、"ほぼ"最適化(プログラムの改修)なしに既存のレイトレ対応ゲームを高速化できる機能となる。

Copyright © ITmedia, Inc. All Rights Reserved.

最新トピックスPR

過去記事カレンダー