diff options
Diffstat (limited to 'src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java')
-rw-r--r-- | src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java b/src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java index 295add9..8d0bf79 100644 --- a/src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java +++ b/src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java @@ -57,6 +57,8 @@ public class FlipTransition extends Transition { private FLIP_MODES mMode; + private float[] mTranslationMatrix; + private boolean mRunning; private long mTime; @@ -70,6 +72,7 @@ public class FlipTransition extends Transition { super(ctx, tm, VERTEX_SHADER, FRAGMENT_SHADER); // Initialized + mTranslationMatrix = new float[16]; reset(); } @@ -233,12 +236,11 @@ public class FlipTransition extends Transition { } // Apply the projection and view transformation - float[] translationMatrix = new float[16]; Matrix.setIdentityM(matrix, 0); - Matrix.translateM(translationMatrix, 0, matrix, 0, -translateX, -translateY, 0.0f); - Matrix.rotateM(translationMatrix, 0, translationMatrix, 0, angle, rotateX, rotateY, 0.0f); - Matrix.translateM(translationMatrix, 0, translationMatrix, 0, translateX, translateY, 0.0f); - GLES20.glUniformMatrix4fv(mMVPMatrixHandlers[index], 1, false, translationMatrix, 0); + Matrix.translateM(mTranslationMatrix, 0, matrix, 0, -translateX, -translateY, 0.0f); + Matrix.rotateM(mTranslationMatrix, 0, mTranslationMatrix, 0, angle, rotateX, rotateY, 0.0f); + Matrix.translateM(mTranslationMatrix, 0, mTranslationMatrix, 0, translateX, translateY, 0.0f); + GLES20.glUniformMatrix4fv(mMVPMatrixHandlers[index], 1, false, mTranslationMatrix, 0); GLESUtil.glesCheckError("glUniformMatrix4fv"); // Draw |