パシフィコ横浜で開催された、ゲーム開発者会議、CEDECの初日には、Windows版「ロストプラネット2」に使われているDirectX 11対応機能についての解説が行われた。

パシフィコ横浜で開催された「CEDEC 2010」

今夏、Xbox360とPS3向けに発売されたカプコンの三人称視点シューティングゲーム(TPS)「ロストプラネット2」が、早くも10月にWindows版が発売される。

このWindows版では、DirectX 11への正式対応が謳われているのがホットトピックであり、これまでGPUメーカーのデモでしか確認できなかったDirectX 11の注目のフィーチャーが、実際のゲームに活用されるということで、過剰に高い期待感を持ってその発売が待ち望まれている。補足するならば、そうした最新フィーチャーに対し、日本のゲームスタジオが積極的に対応を仕掛けてきたこともセンセーショナルだといえる。

ロストプラネット2に検討された3つのテッセレーション手法

石田智史氏(カプコン 制作部技術研究室)

DirectX 11には、ポリゴンをプログラマブルに分割するテッセレーションステージが新設されている。DirectX 11には、他に細かい拡張機能はいろいろあるが、テッセレーションステージは一般ユーザーにとっても、ビジュアル的にも一番分かりやすい機能だといえる。

このテッセレーションステージは、ポリゴンの分割を計画するハルシェーダー、実際にポリゴンを分割するテッセレータ、分割したポリゴンに対して意味づけ的なポストプロセスを行うドメインシェーダーの3つのDirectXの新シェーダーによって実現される。

テッセレーターは固定機能シェーダーだが、ハルシェーダーとドメインシェーダーがプログラマブルシェーダーであり、その2つのプログラマブルシェーダーにて、多様なアルゴリズムを実装することで、様々なテッセレーションメカニズムを実装することが可能だ。

DirectX 11のテッセレーションステージ

比較的、認知度が高いテッセレーション手法としてはDirectX 8時代のATI Radeon 8500で実用化されたこともあるPN Triangles、そしてPhong Tessellation法、Approximating Catmull-Clark法などがある。

DirectX 11対応版のロストプラネット2の開発に用いられた、カプコンの開発フレームワーク(ゲームエンジン)「MT FRAMEWORK2」では、このうちPN Triangles法とPhong Tessellation法の2つを実装している。実際のゲームでは諸事情からPN Triangles法のみがランタイムで動作するとのこと。

PN Triangles法は分割対象の三角形の3頂点を通るベジェ曲面を生成し、その曲面に、分割した三角形を当てはめていくようなイメージになる。3頂点を通るベジェ曲面は一意的に決まらないが、制御パラメータとして各頂点の法線ベクトルを導入すれば適合するベジェ曲面を決定することが出来る。この手法は、DirectX 9相当ベースであるPS3、Xbox 360版ロストプラネット2の3Dモデルデータを、大幅に加工することなくテッセレーションステージを適用できるメリットがあるが、分割対象が1ポリゴンで帰結してしまうため、分割後の隣接したポリゴン同士の滑らかさの連続性が不足するという弱点がある。

PN Triangles法

Phong Tessellation法は、SIGGRAPH 2008 AsiaにてTamyBoubekeurand、Marc Alexaらが発表したテッセレーション手法だ。これはとてもシンプルなメソッドで、ポリゴンの各頂点座標と、その法線と重心座標を利用する。重心座標でポリゴンを分割し、その重心座標がどのくらい盛り上がるか、を各頂点の法線ベクトルの線形補間値から求める。こちらも、DirectX 9世代の3Dモデルデータをそのまま利用しつつテッセレーションを適用でき、しかもシンプルな分、高速なのだが、PN Triangles法よりもさらに曲面の連続性が乏しくなる弱点を持つ。

Phong Tessellation法

動画
Phong Tessellationのアルゴリズム
(WMV形式 1分55秒 2.99MB)

Approximating Catmull-Clark(ACC)法は、DCCツールが標準的にサポートする高度なメソッドで、Catmull-Clark曲面をベジェパッチで近似する手法になる。3Dモデルを構成する各頂点に近傍の情報を仕込ませる工夫が必要であり、その分、曲面の連続性は高いが、専用のデータ構造が必要になる上、計算負荷も高い。もともと、この手法は、オフラインCG向けの技術で、比較的少ないデータ量で高品位な3Dモデルを表現する手段して用いられて来た経緯がある。余談だが、このメソッドは「トイ・ストーリー」で有名なピクサースタジオが最初に実用化したことで知られている。最初から、そこそこのハイポリゴンで各キャラクターがモデリングされているロストプラネット2では、追加の曲面表現を求めていたこともあり、費用対効果の面からACC法の採択は見送られた。

Approximating Catmull-Clark(ACC)法

Windows版ロストプラネット2ではPN Triangles法を採択