テッセレーション
以下では、(PC用グラフィックスの分野に限定するならば)実質的な標準の1つとなっているマイクロソフト社のDirectX 11でのテッセレーション機能について説明する。なおジオメトリシェーダーもまたディスプレースメントマッピングなどでテッセレーションに応用することができるが、マイクロソフトは(性能上の問題から)ジオメトリシェーダーをテッセレーションに使用することを推奨していない。
DirectX 11ではレンダリングパイプラインの途中(頂点シェーダーとジオメトリシェーダーの間)に新たにテッセレーション機能を加えており、以下の3つのステージから構成される。
ハル シェーダー(hull shader)
テッセレータ(tessellator)
ドメイン シェーダー(domain shader)
ハルシェーダーでは、パッチ(patch)情報に基づいてポリゴンごとの曲面の制御点(control points)の算出を行なう。ハルシェーダーはプログラマブルシェーダーであり、ポリゴンの分割数をすべて一様に与えることもできれば、稜線近くだけポリゴンの分割度(Tess Factor)を増すような工夫も行なえる。
テッセレータでは、ハルシェーダーの指示に従ってポリゴンを実際に分割する。