我所要做的就是改变我的纹理,让它在 x 方向上面向另一个方向。我试着让 scaleX 为 -1,我也试着让 RotX = 1 和 angle = 180,但是当我改变 scaleX 或旋转的值时,它也会改变我不想要的位置。这是我绘制方法的代码。我的格式错了吗?
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();
}
}
最佳答案
将矩阵模式设置为 GL_TEXTURE
并在渲染前发出一个 glScalef(-1.0, 1.0, 1.0)
。
关于android - 如何翻转 Android 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7465212/