Kirk:
NURBSによるBスプライン・サーフェースで同じことをやると,制御点を移動させただけでポリゴン分割が破綻します。それを回避するためには,それらのNURBSが同居できるようなスプライン関数の再計算が毎フレーム必要になってきます。これはちょっと非現実的な処理系だといえます。いうなれば「ハードウェアとしてもハード(難しい)」「開発者にとってもハード(難解)」というわけです(笑)。
GPUにおける長期的展望として,高次曲面はポリゴン分割的なアプローチのほうが有望だと思います。
(*9))プログラマブルシェーダ2.0以上,3.0未満はプログラマブルシェーダ2.Xという扱いになっている。これは各社が2.0+などという仕様を打ち出してきたため,2.0以上はみな2.Xという形でまとめて,アプリ側が使う前にそのマシンの対応度を調べて利用する仕組みになっている。
(*10)パッチ(PATCH)とは"補間する"の意。ここでは法線ベクトルを補う形でポリゴン分割を行うシステムのこと。ATIはRADEON 8500以降,このシステムを採用している。
(*11)単純に線形的にポリゴンを増減させると"ポッピング"という現象が起きてしまう。視点からの距離に応じてポリゴン数を増減させるLODシステムでも,3Dモデルが膨らんだり背景の山がへこんだりする現象があるが,それと同じような現象が起きてしまう。
(*12)Non-Uniform Rational B-Splineの略。曲面を頂点ではなくスプライン関数で表現する方式。