我已经实现了一个三角曲面细分着色器,如this网站上的示例所示。
如何确定为定义的inter
和outer
曲面细分因子输出的面部总数? - 它不会以任何方式影响我的程序,我只想知道我的多面/面数。
答案 0 :(得分:1)
使用简单的递归可以找到单个三角形(内部和外部细分相等)的重心细分的三角形数量:
// 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
}
答案 1 :(得分:-1)
好吧,当我处理内部和外部的细分时,这有助于我理解如何计算它们。非常合理和直接的解释。 :)