2011-09-18 2 views
1

Tout ce que je dois faire est de changer ma texture pour qu'elle soit orientée dans la direction x. J'ai essayé de faire de la scaleX à -1 et j'ai aussi essayé de faire RotX = 1 et angle = 180, mais quand j'ai changé les valeurs de scaleX ou de rotation, cela change aussi mes positions que je ne veux pas. voici mon code pour la méthode draw. mon format est-il faux?Comment faire pour retourner une image Android

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(); 
    } 

} 

Répondre

1

Réglez le mode de matrice pour GL_TEXTURE et de délivrer une glScalef(-1.0, 1.0, 1.0) avant de rendre.

Questions connexes