このWeb サイトの例に示されているように、三角形のテッセレーション シェーダーを実装しました。
inter
定義された要素とouter
テッセレーション要素に対して出力される面の総数を決定するにはどうすればよいですか? - 自分のプログラムには何の影響もありません。ポリ/面の数を知りたいだけです。
単一の三角形の重心細分(内側と外側の細分が等しい場合)の三角形の数は、単純な再帰を使用して見つけることができます。
// Calculate number of triangles produced by barycentric subdivision (i.e. tessellation)
// Where n is the level of detail lod and outer and inner level is always equal
int calculateTriangles(int n) {
if(n < 0) return 1; // Stopping condition
if(n == 0) return 0;
return ((2*n -2) *3) + calculateTriangles(n-2); // Recurse
}
さて、私が内側と外側のテッセレーションを扱っていたとき、これは私がそれらを数える方法を理解するのに役立ちました。非常に合理的でわかりやすい説明。:)