Как перевернуть изображение Android - PullRequest
1 голос
/ 19 сентября 2011

Все, что я должен сделать, это изменить мою текстуру так, чтобы она была обращена в другую сторону в направлении х. Я попытался сделать 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();
    }

}

1 Ответ

1 голос
/ 19 сентября 2011

Установите режим матрицы на GL_TEXTURE и введите glScalef(-1.0, 1.0, 1.0) перед рендерингом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...