Android 如何在OpenGL中翻转图像?

Android 如何在OpenGL中翻转图像?,android,opengl-es,Android,Opengl Es,我讨厌问这样一个愚蠢的问题,但我就是想不出如何使用Android OpenGL翻转图像 我尝试使用gl.glScalef(-1,y,z)androidgl.glRotatef(180,0,1,0)但是当我这样做时,图像会翻转,但它也会改变我不想要的位置。我相信有一个简单的方法可以做到这一点,我只是不明白 这是我的绘图代码: public void draw(GL10 gl){ gl.glLoadIdentity(); gl.glTranslatef(position.x, pos

我讨厌问这样一个愚蠢的问题,但我就是想不出如何使用Android OpenGL翻转图像

我尝试使用
gl.glScalef(-1,y,z)
android
gl.glRotatef(180,0,1,0)
但是当我这样做时,图像会翻转,但它也会改变我不想要的位置。我相信有一个简单的方法可以做到这一点,我只是不明白

这是我的绘图代码:

public void draw(GL10 gl){
    gl.glLoadIdentity();
    gl.glTranslatef(position.x, position.y, 0);
    gl.glRotatef(angle, rotX, rotY, rotZ);
    gl.glScalef(scaleX, scaleY, scaleZ);

    gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId[0]);

    gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
    gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
    gl.glEnable(GL10.GL_BLEND);

    gl.glVertexPointer(2, GL10.GL_FLOAT, 0, vertexsBuffer);
    gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, textureBuffer);

    gl.glDrawElements(GL10.GL_TRIANGLES, indices.length, GL10.GL_UNSIGNED_SHORT, indexBuffer);

    gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
    gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
    gl.glDisable(GL10.GL_BLEND);

    if(animation == true){
        PlayAnimations();
    }
}
  • 将对象居中(记住平移)
  • 通过相对于所需轴缩放到-1来执行翻转
  • 然后“反向平移”对象
  • 欲了解更多信息,请随身携带一份詹姆斯·D·福利的《计算机图形学》。

    您可以使用不同的纹理坐标集或纹理矩阵。

    请在问题中添加一些标点符号。