如何在Android上使用OpenGL ES 2.0绘制元素

如何在Android上使用OpenGL ES 2.0绘制元素,android,opengl-es-2.0,Android,Opengl Es 2.0,我对android编程相当陌生,正在尝试创建quads。我使用了基本的drawarray代码,但速度不够快,无法满足我的需要。我目前拥有的是: private void drawTriangle(final FloatBuffer aTriangleBuffer, final CharBuffer indices) { GLES20.glVertexAttribPointer(mPositionHandle, mPositionDataSize, GLES20.GL_FLO

我对android编程相当陌生,正在尝试创建quads。我使用了基本的drawarray代码,但速度不够快,无法满足我的需要。我目前拥有的是:

private void drawTriangle(final FloatBuffer aTriangleBuffer, final CharBuffer indices)
{       
    GLES20.glVertexAttribPointer(mPositionHandle, mPositionDataSize, GLES20.GL_FLOAT, false,
            0, aTriangleBuffer);        

    GLES20.glEnableVertexAttribArray(mPositionHandle);        


    // This multiplies the view matrix by the model matrix, and stores the result in the MVP matrix
    // (which currently contains model * view).
    Matrix.multiplyMM(mMVPMatrix, 0, mProjectionMatrix, 0, mModelMatrix, 0);


    GLES20.glUniformMatrix4fv(mMVPMatrixHandle, 1, false, mMVPMatrix, 0);
    GLES20.glDrawElements(GLES20.GL_TRIANGLES, 6, GLES20.GL_UNSIGNED_BYTE, indices);                               
}
缓冲区的内容是:

final float[] vertices = {
    0.f, 0.0f, 0.0f, 

    0.05f, 0.f, 0.0f,

    0.05f, 0.0459770115f, 0.0f,

    0.0f, 0.0459770115f, 0.0f};

final char indices[] = {0,1,2,
    0,2,3
};

提前谢谢,如果您需要任何信息,请告诉我,以便我可以将其包括在内。

我。。我不确定这里的问题是什么。发生了什么不应该发生的事?或者,什么事情不应该发生?此外,这并不是所有相关的GL代码(这里没有显示任何初始化)。如果DrawArray不够快,我真的怀疑DrawElements对于单四边形这样的小批量来说会有很大的不同。问题是根本没有绘制任何东西。我刚刚听说使用元素会更快,但是绘制简单四边形(不旋转或其他)的最快方法是什么?