打开GL,glDrawElements,GL_LINE_LOOP无法正确连接顶点

时间:2019-03-11 10:37:17

标签: android opengl-es

当我绘制一个具有以下顶点的正方形时:

private static float[] vertexArray = {
        // vertex
        -0.5f,  0.5f, 0.5f,
        -0.5f, -0.5f, 0.5f,
        0.5f, -0.5f, 0.5f,
        0.5f,  0.5f, 0.5f            
};
private static short indicesArray[] = {
        0, 1, 2,
        0, 2, 3,
};

结果很好,可以正确绘制循环enter image description here

但是当我按照

绘制另一个平行正方形时
 private static float[] vertexArray = {
        // vertex
        -0.5f,  0.5f, 0.5f,
        -0.5f, -0.5f, 0.5f,
        0.5f, -0.5f, 0.5f,
        0.5f,  0.5f, 0.5f,

        -0.5f,  0.5f, -0.5f,
        -0.5f, -0.5f, -0.5f,
        0.5f, -0.5f, -0.5f,
        0.5f,  0.5f, -0.5f,

};
private static short indicesArray[] = {
        0, 1, 2,
        0, 2, 3,

        4, 5, 6,
        4, 6, 7,
};

结果是这样的: enter image description here enter image description here

我不知道为什么要这么做。我认为关于 GL_LINE_LOOP 的工作方式我不知道。 GL_LINE_STRIPS 也给出相同的结果。 如何解决这个问题?我希望正方形分开。

代码如下:

  GLES30.glDrawElements(GLES30.GL_LINE_LOOP, indicesArray.length,GLES30.GL_UNSIGNED_SHORT,0);

谢谢。

对不起,我希望有人能帮我解决这个大问题。

0 个答案:

没有答案