PC向けGPU(グラフィックスカード)はもちろん、家庭用ゲーム機でも一般的になりつつある「リアルタイムレイトレーシング」。前回は、近年のゲームグラフィックスにおけるレイトレーシング技術の活用法をみてきた。
今回は、ゲームにおけるレイトレーシング技術の活用において重大さを増している“ある問題”を深掘りしていきたい。
レイトレーシング法とは、コンピュータグラフィックス(CG)の描画手法の1つである。大まかに説明すると、その手順は以下の通りとなる。
何かと衝突したレイは、ぶつかった地点から再び別の方角へ再発射される場合もあるし、着目しているピクセルから複数のレイを飛ばすこともある(このことを「キャストする」という)。
レイの発射元のピクセルにおける陰影処理は、レイの数が多ければ多いほど正確度が高まる。
いうなれば、現実世界はレイの本数が“無限大”というイメージである。合わせ鏡を例に取ると、キャストされたレイが向かい側の鏡で反射するので、再びそこからもう元の鏡に向かってレイがキャストされ……という具合に、レイの発射と反射が無限に繰り返されて「無限鏡像」ができる――こんな感じで捉えられる。
映画などに用いられるCGは、ほとんどがレイトレーシング法で描画されるのだが、さすがにレイの本数を「無限大」として処理してはいない。作品にもよるが、1ピクセル当たりで少なくても数十本、多ければ数百本以上のレイをキャストして描画を行っている。
前回、実際にレイトレーシング技術を活用した近年のゲームタイトルにおけるグラフィックスを紹介したが、現状のGPUが備えるレイトレーシング性能がそれほど高くない。そのため「RTを絡めて30〜60fpsのフレームレートを“安定して”維持できるのはフルHD解像度(1920×1080ピクセル)が限界」「フルHD解像度でRTを利用する場合であってもレイの本数は1ピクセル当たり1桁台が主流で、良くて2桁台前半」という見立てをお話しした。
映画向けCG制作の世界とゲーム開発の世界を比べてみると、ゲーム開発の世界は相対的にレイの予算(数)が足りていない状況にある。ゲームグラフィックスにそれほど詳しくない、映画などのCG制作に携わるアーティストやエンジニアが聞いたら「冗談でしょ?」と思うかもしれないが、それが現実なのである。
Copyright © ITmedia, Inc. All Rights Reserved.