ゲームグラフィックスとレイトレーシング 第2回 ゲームグラフィックスはハイブリッド・レンダリングの時代へ

西川 善司

連載目次

『グランツーリスモ7』(2022年)の「カメラモード」より。青色のクルマのボディに赤いクルマのボディが映り込んでいるこの表現はレイトレーシングによるものだ。同作ではレイトレーシング技術を、レース後のリプレイモードと高品質な走行映像が生成できるカメラモードに限定的に採用する決断をした

レイトレーシング技術自体は、CG技術が今ほど発達していなかった1980年代において、すでに、CPUベースで実装したさまざまな描画概念が提唱されている。

その後も、多様なレイトレーシング技術の高速化が試みられてきたが、リアルタイムにレイトレーシングを実践することができるようになったのは、2018年に、NVIDIAが、GeForce RTXシリーズを発表してからのことになる。

前回は、このあたりの経緯や「レイトレーシングとはどんな技術なのか」といった、基本概念の解説を行った。第2回となる今回は、連載タイトルにもなっている「ゲームグラフィックスとレイトレーシング」について見ていくことにしたい。

リアルタイムレイトレーシング技術で何ができるのか

2018年に、リアルタイムレイトレーシング技術が発表されるやいなや、ゲーム業界は、即座に反応を示した。

これまでGPUに、折々に、ジオメトリシェーダ、テッセレーションステージ、メッシュシェーダといった新機能が搭載されたときには、ここまでの素早いレスポンスはなかっただけに、筆者も驚いた。

2018年のDirectX Raytracing(以下、DXR)の発表とほぼ同時に、ゲームエンジンのUnreal Engineで有名なEPIC GAMES、エレクトロニックアーツ(EA)の先行技術開発チームSEED、北欧の技巧派ゲーム開発スタジオのRemedy Entertainment、3Dベンチマーク開発で著名なUL(旧FUTUREMARK)が、このDXRのβ版を活用して、当時の最高性能のGPUを搭載したWindows PC上で動作するリアルタイムデモを発表したのである。

Reflections Real-Time Ray Tracing Demo」(EPIC GAMES、開発協力:NVIDIA)より。「影」「鏡像」「環境遮蔽」「間接光」をレイトレーシング法で実装。ただし「間接光」については最終的な公開版ではパフォーマンスに配慮して外したとしている
Project PICA PICA – Real-time Raytracing Experiment using DXR」(EA/SEED)より。「影」「鏡像」「環境遮蔽」「間接光」をレイトレーシング法で実装。この他、透明材質への透過表現(≒屈折表現)もレイトレーシング法で実装しているが、メインの映像には登場していない
Experiments with DirectX Raytracing in Remedy’s Northlight Engine」(Remedy Entertainment)より。「影」「鏡像」「環境遮蔽」をレイトレーシングで実装。「環境遮蔽」の実践に際しては、事前計算の間接光情報と組み合わせて計算することで局所的な間接光表現をも実現させている
DirectX Raytracing tech demo」(UL〔旧FUTUREMARK〕)より。「鏡像」のみをレイトレーシングで実装。1枚のGeForce GTX 1080でリアルタイム動作できていることがアピールされた

当時、この4社が示したのは、ゲームではなく、単なる「リアルタイム動作する技術デモ」ではあったが「レイトレーシング技術をゲームグラフィックスに利用していくには当面はこうするべきではないか」という感じの、未来予想図に相当するものとなっており、当時のゲーム開発者に「こんなことができる(かもしれない)」という夢や希望を与えるものにはなっていたと思う。

ハイブリッド・レンダリングという概念

上記、四つのデモは、レイトレーシング法の活用において、それぞれで共通するところと違うところがあった。

共通するのは、すべてのレンダリングをレイトレーシングに置き換えるつもりはなく従来の「ラスタライズ法」と新しい「レイトレーシング法」を「適材適所で組み合わせていく」という方針(コンセプト)だ。

つまり現在のゲームグラフィックスで採用されているラスタライズ法に主だったレンダリングを任せ、ラスタライズ法では困難なレンダリングをレイトレーシング法で実践する……という方針だ。

いうなれば「ラスタライズ法とレイトレーシング法のいいとこ取り的活用」であり、かっこよくいえば「ハイブリッド的なレンダリング手法」である。

このハイブリッド・レンダリング法はスケーラブルなゲームグラフィックスを設計するうえでもメリットが大きいこともあり、現在では、一つのゲームタイトルを複数のゲームプラットフォームに対応させるための方策としても利用されている。

例えば、GPU性能の低いマシン上では従来通りのラスタライズ法だけの描画に留め、GPUが高性能なマシンではレイトレーシング法を積極利用する……といった具合だ。

どんな表現要素がレイトレーシング向きなのか?

四つのデモにおける相違点は「どういった表現をレイトレーシングに任せるか」という部分に現れている。

しかし、この四つのデモが選択した「レイトレーシング法に任せた表現」項目を、重複を除いて挙げるとすると、だいたい「影」「鏡像」「環境遮蔽(Ambient Occlusion)」「間接光」の四つになる。結局、相違点とは、それぞれのデモで「どれとどれを採用したか」の「組み合わせの違い」だけ……ということになる。

裏を返せば、この四つの表現項目こそが当面のハイブリッド・レンダリング法において、レイトレーシング法で賄うべき重要項目になりうるということでもある。

では「影」「鏡像」「環境遮蔽」「間接光」の四つの表現要素とは、一体、どんなものなのか。一つひとつ見ていくことにしよう。

まず「影」からだ。なお、ここで言っている「影」は第三者に遮蔽されてできる影のことで、光の当たり具合でできる陰影のことではない。レイトレーシング法では光源に大きさのある線光源(棒状の蛍光灯のような一次元形状の発光体)や面光源(光る看板のような二次元形状の発光体)がつくり出す輪郭の淡い影も正確に表現できる。

『コール オブ デューティ モダン・ウォーフェア』(PC版、2019年)における影生成

ラスタライズ法によるシャドウマップ技法による影生成。

レイトレーシングを用いた影生成。

「鏡像」は映り込み表現のこと。現在は環境マップやレンダリング結果を鏡像として転用する疑似手法(SSR:Screen Space Reflection)が主流だが、これらは正確な映り込み情景を再現できない。しかし、レイトレーシングであればそれが可能となる。

『ラチェット&クランク パラレル・トラブル』(PS5版、2021年)における鏡像表現

「ラチェット&クランク パラレル・トラブル」(PS5版)では一部の材質表現にはレイトレーシングが使われている。この画面の右上、高所に浮かんでいるのが「実体」のクランク姿のバルーン。ここから視線を下げて、足元のツルツルした床を見てみると……。

ツルツルの床にはクランク姿のバルーンが映り込んでいる。バルーンの実体は画面外に出てしまっているのに、それを床に映り込ませられるのはレイトレーシングならでは。

環境遮蔽は、全方位からの間接光(いわゆる環境光)からつくり出される淡い影のこと。

『BATTLEFIELD 2042』(PC版、2021年)における環境遮蔽表現

ラスタライズ法による環境遮蔽は、描画結果をレリーフ画のような凹凸構造に見立て、その凹部分に影色を付けていくだけの疑似手法であるため、影色の付き方が曖昧で不正確になる。例えば、黄色いクレーン機械の後部下部が明るいのは不自然である。

レイトレーシング法による環境遮蔽も、ある種疑似的な簡易影生成に相当するが、それでもそのシーンに存在する3Dオブジェクト同士の遮蔽関係構造を正確に反映するため、その陰影の出方はかなり正確なものになる。黄色いクレーン機械の後部下部もちゃんと暗くなっている。

「間接光」は、直接光で照らされたオブジェクトの反射光/拡散光が第三者を照らす照明効果のことだ。

『Metro Exodus』(PC版、2019年)における間接光(大局照明)

左は明るいところだけを直接光でライティングし、暗がりは簡易的な(一様に薄明るくしているだけの)間接光表現となっている。右は直接光の照射された壁の近辺や、その反射方向が明るくなっていたり、そうした間接光が行き届いていない領域はかなり暗いままになっているのが見て取れる。太陽が動けば、このシーンの見え方も変化するのはいうまでもない。

前出の四つのデモのうち、これら4要素「全部入り」の実装に挑戦したのは、EPIC GAMESとEA/SEEDのデモだった。

そして「影」「鏡像」「環境遮蔽」の3要素を実装していたのはRemedyのデモだった。

最もレイトレーシング法で実装した要素が少なかったのはULのデモだ。このデモでは「鏡像」のみをレイトレーシング法で実装し、それ以外の要素はすべてはラスタライズ法でレンダリングさせている。ハイブリッド・レンダリング法というよりも、レイトレーシング法を鏡像生成のためだけに利用した「ワンポイントリリーフ的な活用事例」といった感じだ。

実際、最近までに発売されたレイトレーシング技術に対応したゲームタイトルのグラフィックスを振り返ってみると、そのほぼすべてが、この「影」「鏡像」「環境遮蔽」「間接光」の4要素のいずれか一つから四つに対応したものになっている。

2018年時、4社が予想した「近未来ゲームグラフィックスへのレイトレーシング技術の応用」は、その「未来予想図」のとおりになった……といって差し支えないと思う。

ただ、近年になって、レイトレーシングの応用編的な活用を実践したゲームタイトルも出始めている。

2022年3月に発売された『グランツーリスモ7』では、車に搭載されたエンジンが出す騒音が車内にどう伝搬して変調されるかをレイトレーシングを活用して実践している。

『グランツーリスモ7』トレーラー

2023年10月に発売された『Marvel’s Spider-Man 2』では、一定距離内の高層ビル内の室内情景をあえてレイトレーシングで描画し、それより遠方は描画を省略することで、Level of Detail制御をレイトレーシング技術で肩代わりするような工夫を実践している。

『Marvel’s Spider-Man 2』トレーラー

限られたレイトレーシング性能をどう使うべきか

ラスタライズ法とレイトレーシング法を組み合わせたハイブリッド・レンダリング法では、ラスタライズしてピクセル化した画面上の各ピクセル(に対応する3D座標)から3Dシーン内にレイを投げて3Dシーン内の情報を回収することになる。

現在、4Kゲーミングなどといって4K解像度のゲームグラフィックスがもてはやされる傾向にあるが、2023年時点では最高クラスのGPUでも、レイトレーシングを絡めて30fpsから60fpsで賄えるのはせいぜいフルHD解像度が限界だ。

フルHD解像度だと総ピクセル数は約200万個。1ピクセルあたり1レイを投げるだけでも200万本のレイを投げて3Dシーンの情報回収をさせることになる。当然「1ピクセルあたりに投げられるレイの数」が多すぎれば、処理は重くなりすぎてリアルタイム動作に支障が出てきてしまう。

上の四つのデモで最も重かったEPIC GAMESのデモでは、フルHD解像度で1ピクセルあたりに、影生成で1本、鏡像生成で2本、環境遮蔽で2本のレイを投げる実装となっていた。なのでトータル、200万ピクセル×5本で1,000万本+αといった概算になる。

また、EPIC GAMESの技術デモの鏡像生成では1ピクセルあたり2本のレイを投げるが、そのレイが第三者3Dオブジェクトに衝突するとそこから再びレイを投げる2バウンス処理に対応させているため、場合によっては1ピクセルあたりのレイ数が鏡像生成だけで4本になるケースもあった。また、環境遮蔽では2本のレイを投げるが、投げる方角を毎フレーム微妙に変えて8フレーム後に総計16本のレイ分の情報を集約して描画に反映する手法とした。つまり、完全な環境遮蔽が画面に描き終わるまで8フレームほどの遅延を生じるということだ。

当面は、一般的なゲームグラフィックスにおいて、フルHD解像度でレイトレーシング法を適用するにしても、投げられるレイの本数は1ピクセルあたり一桁台が主流、よくて2桁台前半といったところになると見られる。ちなみに、映画用CGなどは1ピクセルあたり数千本から数万本以上は投げているイメージだ。

リアルタイム描画が必須なゲームグラフィックスと、時間を十分にかけて描画する映画などで用いられるオフラインCGとでは、やはり、表現力の格差はまだまだ大きいのだ。

ゲームグラフィックスで活用されるレイトレーシングの応用先ナンバーワンは「鏡像」生成?

ここからは、いろんなレイトレーシング対応ゲームやデモなどを動かした経験則に基づく筆者の考察・推測になるが、ここ数年のGPUの性能とそのレイトレーシング性能のパフォーマンスを鑑みると、10TFLOPS台前半のGPU搭載機では当面、表現要素1個+α程度しかレイトレーシング法で実践できないとみている。具体的にいえば「影」「鏡像」「環境遮蔽」「間接光」のうち一つか、限定的な曲面でもう一個くらいをレイトレーシング法で実践し、それ以外は従来どおりのラスタライズ法で描画するという前述した「レイトレーシングのワンポイントリリーフ的な活用」だ。ちなみに、10TFLOPS前半のGPUを搭載する代表的なマシンといえば、そう、PS5やXbox Series Xである。

上記4要素から複数をレイトレーシング法で実装し、なおかつ安定的にゲームグラフィックスを30fpsから60fpsで描画できるようにするには最低でも20TFLOPS以上級のGPUが必要になるだろう。

4要素のうち、一つしかレイトレーシング法で実装できないとすれば、現代ゲームグラフィックスはどれを採用するべきなのか。 費用対効果の面で考えればそれは「鏡像」だろう。その理由は、リアル系ビジュアルの場合、4要素のうち、「鏡像」表現が今のゲームグラフィックスで一番、不自然さを克服できていないからだ。実際、PS5やXbox Series X向けタイトルでは、このパターンが多い。もちろんゲームグラフィックスのスタイルによって優先順位は変わってくるとは思うが。

2022年3月に発売された『グランツーリスモ7』のPS5版は、ゲーム中はレイトレーシング非対応だが、リプレイモードやフォトモードにおいてはレイトレーシングを有効化できる
『グランツーリスモ7』のPS5版のリプレイモードの様子。画面外の黄色いホンダ・ビートがマツダ・デミオの側面に映り込んでいるこの鏡像表現はレイトレーシング法によるもの。この作品では、主なレイトレーシング法の適用先は鏡像生成となっている

※URLは2023年11月6日にリンクを確認済み

第1回 レイトレーシングとはどのような技術か

関連人物

Media Arts Current Contentsのロゴ