ゲームでレイトレーシング法を使う場合、投げられるレイの本数が慢性的に足りない状況にあることは先述の通りである。では、投げるレイの本数が少ないと何が起こるのだろうか。もう少し具体的に説明していこう。
レイトレーシング法で影を生成をする際には、着目しているピクセルから光源方向に向かってレイを投げる。レイが何かに衝突した場合は、それを「影」と判断するというやり方である。
しかし、蛍光灯のようなある程度大きさのある発光体(光源)の場合、方向を微妙にずらした複数のレイを投げて、投げたレイのうち何本が遮蔽(しゃへい)物に衝突したかを数えて、計算して得られた遮蔽率をもとに影の強弱を調整する。
例えば、10本投げたレイの全てが遮蔽物に衝突したとすれば、レイの発射地点の遮蔽率は100%となるので「濃い影」を描画するのが妥当である。一方、もし10本のうち4本だけが衝突したとすると、遮蔽率は40%となるので「やや薄い影」とするのがいいだろう。
では、ここで投げられるレイが1本しかなかったとしたらどうなるのだろうか。ご想像の通り「All or Nothing」、つまりその1本がぶつかれば「遮蔽率100%」、透過すれば「遮蔽率0%」と両極端な判定となってしまう。本来はそのピクセルの遮蔽率が40%だったとしても、レイを投げる向きなどによっては100%と判断されてしまったり、逆に0%と判定されてしまったりするわけだ。
レイの本数が少なくなると、影描画としての正確性に欠けることになる。これはれっきとした「誤差(エラー)」であり、レイを放った場所がちょっとずれるだけで、誤差まみれの「遮蔽率0%」と「遮蔽率100%」が無秩序に散らばることになってしまい、結果として影描画は“ノイズ”になってしまう。
投げられるレイが少ないと、描画がノイズだらけとなる――このことは、ゲームの描画においてレイトレーシング法を活用する上で、大きな課題なのだ。
実際に「1ピクセル当たり1本のレイ」で影を描画した結果。ここまでノイジーになってしまう(GDC 2018におけるNVIDIAの講演「Ray Tracing in Games with NVIDIA RTX」より)
逆に、1ピクセルから無数のレイを放出して影描画を行った結果。投射距離の短い影(≒遮蔽率が高い領域)は色濃く、長い影(≒遮蔽率が低い領域)は淡い半影として描画されている。言うまでもなく、こちらの方が現実に近い見栄えである(GDC 2018におけるNVIDIAの講演「Ray Tracing in Games with NVIDIA RTX」より)
ゲームの中で「レイトレーシング」はどう使われる? 実例を見てみよう
最近よく聞く「レイトレーシング」 一体ナニモノ?
本当に「ネイティブ超え」をしたのか? 新ツール「ICAT」で検証するNVIDIAの最新超解像技術の実力
ネイティブ超えの新DLSSを追加――NVIDIAが「GeForce Experience」をアップデート Radeonでも使える超解像技術も公開
GeForce Experienceがアップデート。8K 60fps HDRのShadowPlay録画が可能にCopyright © ITmedia, Inc. All Rights Reserved.