GLSL曲面细分着色器三角形/面数?

时间:2013-02-16 22:13:59

标签: opengl glsl

我已经实现了一个三角曲面细分着色器,如this网站上的示例所示。

如何确定为定义的interouter曲面细分因子输出的面部总数? - 它不会以任何方式影响我的程序,我只想知道我的多面/面数。

2 个答案:

答案 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)

好吧,当我处理内部和外部的细分时,这有助于我理解如何计算它们。非常合理和直接的解释。 :)

http://prideout.net/blog/?p=48

http://prideout.net/blog/?p=49