OpenGL-ES TRIANGLE_STRIP错误

时间:2011-01-30 17:57:12

标签: opengl-es

    float coords[] = {
              -1.0f,  1.0f, 0.0f,  // 0, Top Left
              -1.0f, -1.0f, 0.0f,  // 1, Bottom Left
               1.0f, -1.0f, 0.0f,  // 2, Bottom Right
               1.0f,  1.0f, 0.0f,  // 3, Top Right
    };


    float texCoords[] = { 
            0.0f, 0.0f, 
            0.0f, 1.0f, 
            1.0f, 1.0f, 
            1.0f, 0.0f, 
        };

平局:

gl.glDrawArrays(GL10.GL_TRIANGLE_FAN, 0, coords.length/dimension);

正常画画,但是

gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, coords.length/dimension);
这只画了半个方块,为什么?

1 个答案:

答案 0 :(得分:3)

为此,点的顺序应为:TL,BL,TR,BR。

当你指定一个粉丝时,这些点就是第一点。每个三角形由第一个点,列表中的下一个点和前一个三角形的最后一个点组成。

条带与众不同。条带三角形使用前一个三角形中的最后两个点和列表中的新三角形。这有一个副作用:每个三角形都有相反的绕组(CW比CCW,然后是CW,依此类推)。

enter image description here