このページの本文へ

前へ 1 2 次へ

NVIDIAが技術説明会、「Battlefield 3」はなぜ高画質なのか?

2011年10月31日 21時30分更新

文● ASCII.jp編集部/アスキー戦車部 北村 明弘

  • この記事をはてなブックマークに追加
  • 本文印刷

 10月28日、NVIDIAがゲームの高画質化技術についての技術説明会を開催した。DirectX11対応の「Crysis2」と「Battlefield 3」を題材に、どのような技術が採用され、画質を向上させているかを解説した。

「Crysis2」で進化したグラフィックス

 「Crysis2」で採用されたエンジン「CryEngine3」で、ゲームのグラフィックスは大きく進化した。まずは、その「Crysis2」でどのような進化を遂げたのかをおさらいし、次の項目でさらなる進化を遂げた「Battlefield 3」の高画質化のメカニズムを紹介していこう。

立体を構成する面を細分化して凹凸を加えるTessellation+Displacement Mapping。左が適用前、右が適用後。鼻や王冠の立体感が増しているのがわかる
遮蔽物に隠れて見えない部分を描き分けるParallax Occlusion Mapping。同じ場面でもDirectX9とDirectX11では、わだちの凸凹感がまるで違う
映り込みを反映させるReal-Time Local Reflections。磨かれた金属などに他の物体が映り込むことをリアルタイムで計算する。左側の金属には、エイリアンと足元の火花、右側の壁などがしっかり映り込んでいる光源からの距離により影にボケを加えるRealistic Shadows with Variable Penumbra。光源から近い右の柵の影は濃くハッキリと、光源から遠い左の柵は影が薄く輪郭がぼやけているのがわかる

「Battlefield 3」で適用された
グローバルイルミネーション

 これまで、太陽光のように空間すべてを照らす広大な光源は、演算が多すぎてPCに極端に負荷をかける処理だった。これまではオフラインレンダリングで何時間もかけて計算していたのだが、「Battlefield 3」ではこのグローバルイルミネーションをリアルタイムで実現している。

これまで、太陽光は大きな面光源として処理されてきたため、リアルタイムでは反射光までは計算していなかった(画像左)。Realtime Global Illuminationでは、壁に反射した太陽光が反対の壁や地面を明るく照らしている(画像右)

 それではゲームで、グローバルイルミネーションがどのように活用されているのかを見てみよう。

左がグローバルイルミネーションを適用したもの、右が適用していないものだ。下半分はライティングだけを抽出したものだ

 グローバルイルミネーションが適用されていない上の画像の右半分は、太陽光が直接当たらない部分が暗くなっているのに対し、左半分はコンテナに反射した太陽光が、別のコンテナの面を明るくしているのがわかる。
 さらに、手前のコンテナは赤と黄色に染まっている。これは反射した面の色の影響を反映しているからだ。

左がグローバルイルミネーションを適用したもの、右が適用していないもの

 上の画像の左半分では、地面や近くの物体に反射した光が、フロアーの天井面(桟橋の底部)を明るく照らしているのがわかる。さらに1階のタンク周辺は、(ややわかりにくいが)奥に行くにつれて影が濃くなっている。対して右半分の画像は、直接光が当たる部分のみ明るくなっており、影に濃淡の差がない。

太陽光のリアルタイム演算を可能とした
Enlighten(エンライテン)

 光は物体にぶつかると反射するため、その反射光の演算も含めると膨大なものになる。ましてやそれが太陽光のように無限の光源を持つものならなおさらだ。
 「Battlefield 3」では、グローバルイルミネーション専用のミドルウェア「Enlighten」を導入し、太陽光を通常の光源と同じように使え、かつリアルタイムで計算できるようになった。

リアルタイムでグローバルイルミネーションの演算を行なうEnlighten「Battlefield 3」のリアルなグラフィックスは、Enlightenが作り出す太陽光の陰影が大きく加担している
Enlightenは、NVIDIAのGPUパワーを計算処理にあてることで処理能力を向上させるCUDAに対応している。事前計算では、NVIDIAのレイトレーシングエンジン「OptiX」が使用され、CPUのみで計算するより20倍高速に処理できるという

前へ 1 2 次へ

注目ニュース

ASCII倶楽部

最新記事
ピックアップ

ASCII.jpメール アキバマガジン

ASCII.jp RSS2.0 配信中