9月26日からの3日間、日本最大級のゲーム開発者会議「CEDEC 2007」(CESA DEVELOPERS CONFERENCE 2007)が開催された。

今年は東京大学を会場とし、過去最高の1900名の受講者を記録した。東京ゲームショウとの日程が近かったことから、海外からの来場者や取材も例年よりは多かったようだ。

レポートの第一弾はグラフィックスプロセッサベンダの最大手であるNVIDIAの技術セッショントラックから、興味深かったものを抜粋して紹介する。

今年のCEDEC 2007は東京大学で開催された

セッションの様子

3Dゲームにも採用されつつある流体物理シミュレーション

リアルタイム3Dグラフィックスの分野でにわかに実装が開始され、一部には3Dゲームグラフィックスへの実装すら始まりつつあるのが流体物理、流体力学、あるいは流体シミュレーションとよばれる分野だ。

最近ではナムコのアーケード格闘ゲーム「鉄拳6」の水面の動きに対して、プロメテック・ソフトウェアの流体物理シミュレーションが採用されたことが話題にもなった。

「鉄拳6」の水面の処理は流体物理シミュレーションが応用されている
(C)1994-2006 NAMCO BANDAI Games Inc.

今回、NVIDIAはこの分野について、GPUで実行する流体物理シミュレーションの実現方法を「流体力学による煙、炎、水」と題したセッションで紹介した。

今回取りあげたテーマは、タイトルにもあるように煙、炎そして水の3つの流体物理シミュレーション的表現について。

これまで、流体の表現は3Dスプライトで表現したパーティクルシステム、あるいは事前計算して生成したアニメーションテクスチャ(ビデオテクスチャ)などを使用するのが一般的だった。これらは遠目にはリアルだが、動的なシーンでキャラクタや背景が動いた場合に何の影響も及ぼせず、リアリティがない。

流体物理が重要な理由

とはいえ、リアルタイムで流体物理シミュレーションを行うにはCPUには重荷だ。流体物理シミュレーション自体がゲームの根幹ロジックとなっていれば別だが、CPUの演算コストの大半が流体物理処理に持って行かれてしまっては現実味がない。

ところが、これがDirectX 10世代以降のGPUではやや現実味を帯びてきている、と、登壇したNVIDIA デベロッパ・テクノロジ・エンジニアのChris Kim氏はいう。

セッションタイトル

NVIDIA、デベロッパ・テクノロジ・エンジニア、Chris Kim氏

DirectX 10世代のGPUは演算性能がとてつもなく高性能であり、とにかく並列処理に優れている。また、ビデオメモリが512MB以上、1GB近い製品も登場してきており、さらには統合型シェーダアーキテクチャの採用で、グラフィックス処理側への影響も少ない。

また、流体物理シミュレーションでは単位立方体「ボクセル」(Voxel)を取り扱うことが多いが、これを処理するのに3Dテクスチャへのレンダリング(ボリュームテクスチャレンダリング)に対応したDirectX 10は都合がよい。

流体物理シミュレーションはDirectX 10/SM4.0世代GPUではリアルタイム処理できるテーマ

Flagship Studiosが開発中のPC向けオンラインRPG「Hellgate:London」の煙は流体物理シミュレーションが適用されている