DirectX 11で利用できるようになる「テッセレーション」(Tessellation)では、少ないデータでも複雑な物体を描写できる。例えば、ポリゴンで物体を描画するとき、頂点情報が多いほど複雑で滑らかな物体を表現できる。ところが、頂点情報が増えるとオブジェクトの処理に要する時間が増し、パフォーマンスや扱うデータ容量が問題になる。また、視界から遠い物体には細かいオブジェクト描写は必要なく、データとパフォーマンスの無駄遣いとなる。
一般的なゲームではこの問題を解決するため、頂点情報を減らしてオブジェクトを簡素化させたり、距離に応じて最適な複雑さを持ったオブジェクトを表示するため、頂点情報数が異なる複数のモデルを用意したりしている。こうした手間を解決するのがテッセレーションだ。
ドラゴンと家のモデルを用いたテッセレーションの効果を紹介するデモでは、テッセレーションをオンにした瞬間にオブジェクトが立体的になる。ドラゴンの皮膚にうろこの突起が出現し、家の屋根や壁には瓦や石の凹凸が表れる。本来であれば、これらの表現には頂点描写が必要だが、テッセレーションを用いることで情報量や処理を簡素化できる。
テッセレーションでは、まず対象となる平面(ジオメトリ)を用意して、いったん格子状に要素を分解する。そこに「Displacement Map」と呼ばれる図面を用意することで、平面をエンボス状に浮き上がらせることが可能になる。これを応用すると、複雑な山岳地帯の地形や人体オブジェクトの滑らかな表現が簡単にできたり、波や自然の地形などをダイナミックで高品質に表現したりできる。
テッセレーションに頂点情報を加えれば、髪の毛の流れといった複雑な動作にも対応できる。これにより、品質とパフォーマンスのトレードオフを考えることなしに、モデルの描画を細かくできるようになる。
NVIDIAによれば、GT200系のアーキテクチャでテッセレーションを実現すると、ジオメトリ処理上のボトルネックがあるため非常に難しいという。そのため、GF100では、ポリモーフエンジンとラスターエンジンを改良し、ジオメトリ性能を8倍に引き上げることでテッセレーションを実現している。また、GF100で実現されるテッセレーションのパフォーマンスはRadeon HD 5870と比較して2〜6倍に達し、品質を上げるほどその差は広がっていくという。
テッセレーション以外にも、映像のリアリティを追求する機能がGF100に導入される。オブジェクトの滑らかな表現ではアンチエイリアシングが重要だが、より細かい階調表現を行うために周囲のドットを抽出してカラー階調モデルを生成するCSAA(Coverage Sampling Antialiasing)が用いられる。CSAAには、アンチエイリアシング処理におけるサンプル抽出アルゴリズムが導入されるが、従来の手法では影の部分にノイズが発生したり、細かい模様がつぶれるなどの問題があった。しかし、GF100で強化されたCSAAでは、高速化によって32サンプリングの対応が可能になり、より滑らかな表現ができるようになった。
Copyright © ITmedia, Inc. All Rights Reserved.