Opengl es OpenGL ES三角带错误
抽签:Opengl es OpenGL ES三角带错误,opengl-es,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 }; fl
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);
这只画了半个正方形,为什么 要使其起作用,点的顺序应为:TL、BL、TR、BR 指定风扇时,点围绕第一个点。每个三角形由第一个点、列表上的下一个点和上一个三角形的最后一个点组成 有了这条带子就不一样了。条形三角形使用列表中上一个三角形和新三角形的最后两个点。这有一个副作用:每个三角形都有相反的绕组(顺时针比逆时针,然后再顺时针,依此类推)
要使其工作,点的顺序应为:TL、BL、TR、BR 指定风扇时,点围绕第一个点。每个三角形由第一个点、列表上的下一个点和上一个三角形的最后一个点组成 有了这条带子就不一样了。条形三角形使用列表中上一个三角形和新三角形的最后两个点。这有一个副作用:每个三角形都有相反的绕组(顺时针比逆时针,然后再顺时针,依此类推)
如果我想画一个球体顶点,我应该使用三角形扇形的三角形带吗?因为在一个球体的顶点上,我又看到了一个半球体?看到了吗:如果我想画一个球体的顶点,我应该使用三角形带或者三角形扇形?因为在一个球体顶点上,我又看到了一个半球体?看到了吗
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, coords.length/dimension);