我正在一个简单的平面上绘制纹理。渲染代码基本上是这样的:
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, _vertexBuffer);
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, _textureBuffer);
gl.glDrawArrays(GL10.GL_TRIANGLES, 0, _vertexBuffer.capacity()/3);
使用 _vertextBuffer 作为
new float[] {
0, 0, 0,
0, height, 0,
width, height, 0,
width, height, 0,
width, 0, 0,
0, 0, 0
};
其中宽度和高度是正值。_textureBuffer 是
new float[] {
0, 0,
0, 1,
1, 1,
1, 1,
1, 0,
0, 0
}
有了这个,纹理被翻转和镜像或翻转 180 度。我究竟做错了什么?