レンダリング中に次のコードを実行しています
if (fUseVBO) {
gl.glBindBuffer(GL.GL_ARRAY_BUFFER, VBOTexCoords[0]);
// Set The TexCoord Pointer To The TexCoord Buffer
gl.glTexCoordPointer(2, GL.GL_FLOAT, 0, 0);
gl.glBindBuffer(GL.GL_ARRAY_BUFFER, VBOVertices[0]);
// Set The Vertex Pointer To The Vertex Buffer
gl.glVertexPointer(3, GL.GL_FLOAT, 0, 0);
} else {
// Specifies the location and data format of an array of vertex
// coordinates to use when rendering.
gl.glVertexPointer(3, GL.GL_FLOAT, 0, mVerticesBuffer);
// Set The Vertex Pointer To Our TexCoord Data
gl.glTexCoordPointer(2, GL.GL_FLOAT, 0, mTextureBuffer);
}
gl.glDrawElements(GL.GL_TRIANGLES, mNumOfIndices,
GL.GL_UNSIGNED_SHORT, mIndicesBuffer);
この方法では、テクスチャ座標と頂点に VBO があり、レンダリングするたびにインデックス バッファーを渡します。(オブジェクトの頂点、テクスチャ座標、およびインデックスがあります)
gl.glDrawElements メソッドを次のコードに置き換えようとしました
gl.glDrawArrays(GL.GL_TRIANGLES, 0, vertexCount);
しかし、それはオブジェクトを適切にレンダリングしませんでした。
glDrawElements を取り除くには?