ロストプラネット2グラフィック講座

http://game.watch.impress.co.jp/docs/series/3dcg/20100910_392952.html (「ロスト プラネット 2」グラフィックス講座(前編)/GAME Watch)
http://game.watch.impress.co.jp/docs/series/3dcg/20100913_393420.html (「ロスト プラネット 2」グラフィックス講座(後編)/GAME Watch)


カプコンロストプラネット2を通しての、世界に誇るMT Frameworkのグラフィック講座。
前編はロストプラネット2が中心。
同じ30fps基準でありながらXBox360版の方はMSAAx2が実装されているが、PS3版はアンチエリアシング無し。
レンダーターゲットもXBox360版がR10G10B10であるのに対し、PS3版がR8G8B8となっており、XBox360の方がパフォーマンスが高い様だ。
PS3GPU(RSX)の制限に配慮*1しているのをみても、PS3のグラフィックチップにRSXを採用したのは、ホント良い判断じゃなかった気もする。
一昨年辺りから今世代機のトレンドとなっている大局証明(GI:Global Illumination)を導入していたり、PS3にも対応するために高速なXBox360のEDRAMを利用したエフェクト描画手法は見送ってMGS4の手法に変えていたりしている模様。
(KILLZONE2の様に大量エフェクト処理をSPUで実装すれば、同等の処理は出来ると思うんだけどなぁ.....)
草木を掻き分ける部分は、バーチャファイター5のフォグ表現を思い出した。


後編はPC版のロストプラネット2とMT Frameworkが中心。
ハルシェーダー・テッセレーター・ドメインシェーダーを使った適用型テッセレーションやディスプレースメントマップを導入していたり、演算シェーダーを使って水面の波動シミュレーションや大型敵の軟体物理を実装していたりと
積極的にDirectX11のフィーチャーを使っている。
水面の波動シミュレーションは、あくまで水面のみのようで、プロメテック・ソフトウェアのオクターブエンジンの様に、飛び出した水滴までシミュレーションしていない模様。
DirectX9世代のPS3/XBox360に歩調を合わせるためか、対応に消極的なUnrealEngine*2やCryENGINE*3が二の足を踏んでいる間に、先行投資と考えて積極的に導入しているカプコンは素晴らしいね。


そして、DirectX11に先行投資しつつも、3DS向けのMT Framework Mobileや戦国BASARA3と言う既に販売実績を持つWii/PS3向けのMT Framework Liteとか、下位のプラットフォームにも展開している。
この点においても、他のゲームエンジンとは考え方が異なっているのが伺える。
(メタシェーダー機能で、Wii版はシェーダーっぽい処理に置き換える事でWiiPS3の同時発売を実現させているとか、なかなか面白い実装。)


また、Deferred Lightingと言うDeferred Shadingの亜流とも言えるレンダリングにも挑戦しているのも素晴らしい。
Deferred Shadingの弱点であった、多目に中間バッファの作成する必要がある事と利用出来るマテリアルが制限される点を克服したレンダリング手法。
Deferred Shadingでは、MRT*4機能で4枚ほどテクスチャが必要で、KILLZONE2の場合32MB程度との事だった。
PS3ではメインメモリとVRAMが別なので特に問題はなかったが、XBox360はメインメモリとVRAMが共用の為そんなヘヴィーな書き込みは出来ず、救済策のEDRAMも10MBしか無い為、この方法は不適切と言われていた。
Deffered Lightingでは、MRTを使う必要が無いようで、XBox360のEDRAMでも十分処理出来る様だ。
過去に発表されたCryENGINE3のXBox360のDeffered Shadingテクニカルデモは改良版Deferred Shadingと言われていたけど、これを使っていたかもしれない。
ただ、このDeffered Lightingも問題があるようで、Defereed Shadingではレンダリングパスが2回で済んでいた所を、Deferred Lightingでは3回に分けられると言う事らしい。
追加されるのは頂点シェーダーの処理のようなので、逆にRSXが駄目なPS3にはきつくなるんじゃ無かろうか.....
(まぁ、SPUでブン回せばあるいは.....)

*1:真のHDRモードもあるのに、処理速度がヤバイ為に全く使われていない。

*2:EPIC Gamesが提供している今世代機を代表するゲームエンジン。かなりのシェアを獲得している。

*3:ゲルマン魂溢れる(かどうかは分からないが)Crytekが提供しているゲームエンジンFAR CRYやCRYSIS等で一躍有名になったが、ゲームエンジン事業としては今一らしい。

*4:Multi Rendering Target:複数のレンダリングターゲットに出力する事が出来る機能