NVIDIAは10月28日、「Battlefield 3」ならびに「Crysis 2」という話題のタイトルを実例に、最新のPCゲームで用いられている先端グラフィックス技術の解説を行う記者説明会を開催した。特にBattlefield 3では、これまで困難とされていた"リアルタイム"でのグローバルイルミネーション処理が実現されており、その興味深い実装が詳しく紹介された。

NVIDIA Japanのデベロッパー テクノロジー エンジニア 竹重雅也氏

NVIDIA Japanのデベロッパー テクノロジー エンジニア 竹重雅也氏が登壇し、最新PCゲームで用いられている先端グラフィックス技術をピックアップして解説した。直近のゲームタイトルのなかでも、「Battlefield 3」と「Crysis 2」に注目し、これらが従来のタイトルとは一線を画すグラフィックス表現を実現していることを紹介し、実際にどのような技術が利用されているのかを解説した。

DirectX 11パッチの適用でグラフィックス技術がDirectX 11水準に向上した「Crysis 2」

Crysis 2に関しては、DirectX 11パッチの適用でグラフィックス技術がDirectX 11水準に向上し、元々評価の高かったグラフィックス表現がさらに向上した。DirectX 11のフューチャに関しては機知の読者の方も多いだろうから、本稿では特に改めて触れないが、Battlefield 3では、リアルタイム グローバルイルミネーションの処理が実装されていると言う興味深いトピックがあったので、こちらをレポートしておきたい。

最初からDirectX 11以上の最新世代タイトルとして開発された「Battlefield 3」。リアルタイム グローバルイルミネーションの実装でより現実世界に近づいたグラフィックス表現が見所。既に発売中なので、どのくらい凄いか、実機でも確認していただけたらと思う

Battlefield 3は、コンソールとPC版の展開があり、どちらもグラフィックス表現の水準の高さが話題で、特にPC版は現存するのゲームタイトルでトップのグラフィックス表現を実現していると言っても過言ではない。竹重氏は、このBattlefield 3のグラフィックス表現の高さの主要因に、リアルタイム グローバルイルミネーションの実装があると紹介した。

そもそも、グローバルイルミネーションについて簡単に説明しておく。現実世界では、光源からの光が第三者に遮蔽されたり、あるいは光がある物体に当たって反射したその光も、また光源となりうる。そういった遮蔽や相互反射などの複雑な光の伝搬を取り扱い、コンピュータグラフィックス内でも再現することで、よりリアリスティックなグラフィックス表現を実現しようというのが、グローバルイルミネーションの概念だ。

しかしながら、グローバルイルミネーションの光の伝搬は非常に複雑で、計算量も飛びぬけて多い。コンピューティングパワーがまだまだ不足しており、これまでは、リアルタイムで計算処理できるよう実装することは困難とされていた。よって従来は、リアルタイム処理でレンダリングする3Dゲームでは、見た目だけでもつじつまが合うような疑似手法で代用していたり、または、ムービーなどの場合であれば、事前に長時間かけてプリレンダリングしたグローバルイルミネーション適用のグラフィックスを用いたりしていた。

グローバルイルミネーションの適用例。左側がグローバルイルミネーション有りのグラフィックスだ。左右ともに上段が完成品の絵で、下段は光の伝搬部分を抜き出した絵。右側は1個の光源(太陽)の光の処理しかなされないため、日向or影のみ、かつ日向も影も同じ色と、画一的な絵になっている。左側では、コンテナに反射した太陽光も光源となっており、また、反射位置で光源の強さが変化し、コンテナの色も反映された反射光の色まで表現(黄色いコンテナに反射した光が黄色っぽくなっている)されている

これを、なんとゲーム中にリアルタイムにレンダリングできるようにしているというのが、Battlefield 3に実装されたリアルタイム グローバルイルミネーションだ。具体的には、Geometricsの開発した「Enlighten」と呼ばれるミドルウェアで実装されており、ゲーム中の全光源をグローバルイルミネーションに対応可能で、シーンの遷移シームレス、コンピューティング性能に応じた品質のスケーリングも可能と、まさにリアルタイムに処理ができることをうたっている。

同じくグローバルイルミネーションの適用例。こちらは、日向or影では無く、現実に近い光と影のグラディエーションや、光の伝播による光の届く範囲のひろさがわかりやすい絵となっている。これらの処理が、リアルタイムグラフィックスで表現できるようになったというのが、今回のトピック

Enlightenでは、NVIDIA GeForce GPUのGPGPU技術である「CUDA」と、「OptiX」を利用し、CUDAで光の伝播計算、OptiXでレイトレーシングをブーストしている。CPUで同様の計算を行う場合に比べ5倍程度のパフォーマンスゲインがあるという。GPU上で計算するため、計算結果はGPU上で作成され、レンダリングにもそのまま使用でき、CPUから転送しなければならないロスが発生しないなどのメリットもある。

Geometricsの開発した「Enlighten」

GeForce GPUのCUDAとOptiX技術を利用している

Battlefield 3の実装例。光と影はEnlightenのリアルタイム グローバルイルミネーション処理の結果だ。このクオリティでゲームが動く

こちらは「Need For SPEED」の新作での実装例。夜間のシーンだが、間接照明からの光の伝播のおかげで、リアルな表現に成功している。従来の手法であれば、大元の光源(具体的には、設置されたライト)以外の部分は、光が伝播しないので真っ暗になってしまう

ただ、CUDAを利用して処理能力を飛躍させているといっても、それでも"重い"のがリアルタイム グローバルイルミネーションだったはずだ。Enlightenにはほかにも何か特別な手法の実装があるように考えられる。

例えば、竹重氏によれば、Enlightenでは、グローバルイルミネーションの計算結果をテクスチャとして出力しているという。光の伝搬に関わる物体については、既にマップ上にデータが存在しているわけだが、例えばあるシーンにおいて、光源が動いたとしてもマップ上のオブジェクトは動かないとする(例えばゲーム中、銃で破壊したコンテナなどは、動くオブジェクトとする)。であれば、その動かないオブジェクトに光源が当たった際の光の伝播情報は、事前にデータを保持しておけるので、その部分の計算を省くこともできると考えられる。実際、その事前データを参照するためだろうが、Enlightenがグローバルイルミネーションの計算結果をテクスチャで出力するタイミングは、人間が認識できる範囲ではリアルタイムだが、実は"リアルタイム"から数フレーム(1フレーム~程度か?)は遅れているという話もあった。

NVIDIAがゲームファンにキャンペーンを実施

さて、ここからはおまけ情報だ。上記の様な、グラフィックスの世代代わりと言えるような注目タイトルが登場した今回のタイミング。NVIDIAでは、PCゲームをもっと楽しんでもらいたいと、「やっぱりゲームはGeForce GTX」と銘打ったキャンペーンを実施中だ。

「やっぱりゲームはGeForce GTX」キャンペーン。迷彩パーカーが貰える

詳細はこちらの同社サイトで確認いただきたいが、GeForce GTXを搭載した「Geared For Gaming PC」指定のPC製品を購入すると、NVIDIAロゴ入りの特製迷彩柄パーカーが当たると言うもの。

バットマン新作、「Batman: Arkham City」のバンドルキャンペーンも同時開催中。こちらも先端グラフィックスが存分に楽しめる最新タイトル