GeForce
 

「DirectX 11」のテッセレーション-テッセレーションの意味と重要性

現在「DirectX 11」は、至る所で話題にされていますが、その最大の新機能-テッセレーションについても、皆さんはもう既にいろいろと情報を得ているかもしれません。テッセレーションは、ポリゴンをより細かく分割するという極めて単純な概念です。しかし、なぜそれが、それほど重要なのでしょうか?また、それがゲームにどのような利点をもたらすのでしょうか?ここでは、テッセレーションが、PCの3Dグラフィックスに大きな変化をもたらす理由を説明し、NVIDIA「GeForce GTX 400」シリーズのGPUがテッセレーションのパフォーマンスに、どのように飛躍的な進歩をもたらすのかを見ていきます。

最も簡単に説明すると、テッセレーションは、ポリゴンをより細かく分割する方法です。例えば、あなたが四角形をその対角線に沿って切った場合、あなたは、その四角形を二つの三角形に分割(テッセレーション)したとことになります。テッセレーション自体は、リアリズムをほとんど向上させません。例えば、ゲーム内で、四角形が二つの三角形にレンダリングされているか、もしくは、二千個の三角形にレンダリングされているかは、たいして問題になりません。テッセレーションは、新しくできた三角形が、新たな情報を表現するために用いられて初めてリアリズムを向上させるのです。

Triangle Mapping Displacement Mapping
ディスプレイスメントマップ(左)が平面に適用されると、結果として現れる面(右)は、ディスプレイスメントマップに格納された高さ情報を表現することができます。

新しくできた三角形を利用する最も単純で最も一般的な方法は、ディスプレイスメントマッピングと呼ばれる手法です。ディスプレイスメントマップは、高さ情報を格納するテクスチャです。これを画像表面に用いると、その高さ情報に基づいて表面の頂点を上下に移動させることができます。例えば、グラフィックアーティストは、大理石の頂点を動かして彫刻を創ることができます。もう一つ一般的なのは、ディスプレイスメントマップを地形に用いて、クレーターや峡谷、山頂などを創るテクニックです。

テッセレーションと同じくディスプレイスメントマッピングも、何年も前から存在していたのですが、注目を浴びるようになったのは、最近になってからのことです。その理由は、ディスプレイスメントマッピングの効果を発揮するには、表面が非常に多くの頂点を有していないとならないからです。大理石の彫刻を例にとると、大理石が8つの頂点から構成されていても、それら頂点の変位によってドラゴンを形成することはできません。ベースメッシュに、新しい形状を表現するのに充分な頂点がある場合にのみ、詳細な起伏を形成することができるのです。要するに、ディスプレイスメントマッピングには、テッセレーションが必要であり、テッセレーションには、ディスプレイスメントマッピングが必要なのです。

「DirectX 11」では、テッセレーションとディスプレイスメントマッピングが見事に調和し、ようやく一体となりました。また既に、デベロッパー達は、これを利用し始めています。「エイリアンvs.プレデター」や「メトロ2033」といった人気のゲームは、テッセレーションを用いて滑らかな外観のモデルを生み出しています。また、Valve社およびid Software社は、これらの技術を既存のゲームキャラクターに用いて、素晴らしい効果を生み出しています。

Coarse Model
粗いモデル(左)がテッセレーション後に、滑らかな外観のモデル(中)になり、その後ディスプレイスメントマッピングが用いられ、映画のようなリアリズムのキャラクター(右)になっている。© Kenneth Scott, id Software 2008

「DirectX 11」のテッセレーション・パイプラインは、プログラム可能なため、グラフィック上の多数の問題を解決することができます。では、その4つの例を見てみましょう。

完璧なバンプマッピング

Model Comparision

突き詰めれば、ディスプレイスメントマッピングは、既存のバンプマッピング技術との一時的な代理として用いることができます。ノーマルマッピングなどの現在の技術は、より質の高いピクセルシェーディングを通じて、表面に凹凸があるように見せています。これらの技術は、特定の場合にのみ用いることができ、また、部分的に凹凸があるように見せることができるだけです。非常に高度なバンプマッピングの一つである視差遮蔽マッピングを例にとってみましょう。これは、形状が重複して見える視覚的錯覚をもたらしますが、この錯覚が起きるのは、オブジェクト内部の平面上のみです(上記例参照)。真のディスプレイスメントマッピングには、こういった問題がなく、どこから見ても正確な描写をもたらすことができます。

より滑らかな外観のキャラクター

Smoothing Character
PN三角形は、アーティストの手を借りずに、自動的にキャラクターの外観を滑らかにすることができる。ジオメトリも照明も共に改善される。

テッセレーションと自然に調和するその他の技術は、洗練アルゴリズムです。洗練アルゴリズムは、テッセレーションと伴に、粗いモデルを、より滑らかな外観のモデルへと変化させます。一般的な例は、 PN三角形(Nパッチとも言われる)です。PN三角形アルゴリズムは、低解像度モデルを凹凸のあるモデルへと変化させます。その後、モデルはテッセレーションを通じて、細かく分割された三角形のメッシュとして再描画されます。キャラクターの関節の硬直した感じや、丸くない車輪、顔の特徴の粗さなど、今日のゲームにおいて当然のことと思われている視覚的歪みは、このアルゴリズムを用いることにより取り除くことができます。例えば「Stalker: Call of Pripyat」において、より滑らかで、より自然な外観のキャラクターを作りだすために、PN三角形が用いられています。

ディテールのシームレスレベル

広くオープンな背景を用いるゲームにおいて、遠くにある物体が画面に現れては消えることに気づくでしょう。これは、ゲームエンジンが、常にジオメトリの作業負荷をチェックして、詳細さのレベルを切り替えている(LOD処理)ことにより可能となっています。これまで、詳細さのレベルを継続的に変化させる簡単な方法はありませんでした。なぜなら、同じモデルや背景の多数のバージョンを保持する必要があるからです。動的テッセレーションは、オンザフライで詳細レベルを変化させることにより、この問題点を解決します。例えば、遠くの建物が視界に入り始める時点では、10個の三角形でレンダリングし、建物に近づくにつれて、より多くの三角形を用いて、よりはっきりとした特徴を表し、窓や屋根といった建物の詳細な特徴を描写します。そして、さらに建物の入り口にたどり着くと、何千もの三角形でアンティークの真鍮のドアノブをレンダリングするといった具合です。また、ディスプレイスメントマッピングにより、詳細な凹凸が描写されます。動的テッセレーションは、オブジェクトのポッピングを防ぎ、ゲーム世界のジオメトリの詳細レベルを、ほとんど無限大に広げることができるのです。

スケーラブルなアートワーク

デベロッパーにとって、テッセレーションは、コンテンツを創るパイプラインの効率を大幅に改善させる手助けとなります。Valve社のジェーソン・ミッチェル氏は、テッセレーションを用いる動機を説明するコメントの中で、こう述べています。「スケールアップすることも、スケールダウンすることも可能にしてくれる技術に関心を持っています。つまり、いったん創り上げたモデルを映画のような画質にまでスケールアップしたい、またその逆に既存のシステム上で、リアルタイムにレンダリングする必要性を満たすために、自然に画質をスケールダウンすることも可能であって欲しいのです。」いったん創り上げたモデルを様々なプラットフォームで使用することができると、開発時間を短縮することができます。また、PCゲーマーにとっては、彼らのGPUで可能な限り最高の画質が保証されることになります。

「GeForce GTX 400」GPUのテッセレーション処理方法

従来からのGPUデザインは、テッセレーションを行うために、単一のジオメトリエンジンを用いています。このアプローチは、ピクセルシェーディングを行うために単一のピクセルパイプラインを使用していた初期のGPUデザインに類似しています。どのようにピクセルパイプラインが、単一ユニットから多数のパラレルユニットに成長したか、また、どのように3Dリアリズムに支配的に用いられるようになったかを考察し、我々のテッセレーション・アーキテクチャは、当初からパラレルになるように設計しています。

「GeForce GTX 400」GPUは、最大15個のテッセレーションユニットから構成されています。各ユニットは、頂点フェッチ、テッセレーション、座標変換にそれぞれ特化したハードウェアを有しています。これらは、4つのパラレル・ラスターエンジンを用いて、シェーディングのために、テッセレーションで新たに分割された三角形を、細かい一連のピクセルに変換します。その結果、1秒間に16億個以上もの三角形を継続的に分割するという、テッセレーションにおける飛躍的な革新がもたらされました。最高速の競合製品と比較し、独立系ウェブサイトのBjorn3Dで計測しても、「GeForce GTX 480」は、最大7.8倍速いことが分かっています。

まとめ

何年にも渡る試みと失敗の後に、テッセレーションは、ようやくPC上で成果をもたらすことができるようになりました。「メトロ2033」といった優れたゲームは既に、テッセレーションの潜在価値を示してくれています。今後、テッセレーションは、ピクセルシェーディングと同じように重要かつ不可欠な存在となるでしょう。テッセレーションの重要性を認識しているNVIDIAは、早い段階からパラレル・テッセレーション・アーキテクチャの構築に着手してきました。その結果が、ジオメトリのリアリズムとテッセレーションのパフォーマンスにおける真の革新とも言える「GeForce GTX 400」GPUファミリーです。