由于OPENGL ES 取消了QUAD 等的支持,所以所有多边形都得需要从三角面片来组合成。这样就需要通过GL_TRIANGLE_FAN和GL_TRIANGLE_STRIP来组织顶点,通过画多个三角面片来组成一个需要得形状。
GL_TRIANGLE_FAN 和 GL_TRIANGLE_STRIP 就决定了不同得顶点组织方式。
GL_TRIANGLE_STRIP - OpenGL的使用将最开始的两个顶点出发,然后遍历每个顶点,这些顶点将和他的前2个顶点一起组成一个三角形。 GL_TRIANGLE_FAN - 在跳过开始的2个顶点,然后遍历每个顶点,让OpenGL将这些顶点和它前一个,以及数组的第一个顶点一起组成一个三角形。
以一个4面体为例:
GL_TRIANGLE_FAN 模式下:
new float[] {
1, 1,-1, // Bottom right
-1, 1,-1,// Bottom left
-1, 1, 1,// Bottom right
1, 1, 1// Top right
},
GL_TRIANGLE_STRIP 模式下:
new float[] {
-1, 1,-1, // bottom left
-1, 1, 1, // bottom right
1, 1,-1, // top left
1, 1, 1 // top right
},