commit 012901f5d3bc49a31caa517f01174b4fefafabd6
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sun May 12 22:18:49 2019 +0100

    Invert the order of Matrix Effects. Now, just as in the other queues, the first matrix effect is actually the first to act on the object - not the other way around!

diff --git a/src/main/java/org/distorted/library/effectqueue/EffectQueueMatrix.java b/src/main/java/org/distorted/library/effectqueue/EffectQueueMatrix.java
index c38d5b1..f3931a1 100644
--- a/src/main/java/org/distorted/library/effectqueue/EffectQueueMatrix.java
+++ b/src/main/java/org/distorted/library/effectqueue/EffectQueueMatrix.java
@@ -149,7 +149,7 @@ class EffectQueueMatrix extends EffectQueue
     Matrix.translateM(mViewMatrix, 0, -width*0.5f, -height*0.5f, -distance);
     if( mipmap!=1 ) Matrix.scaleM(mViewMatrix, 0, mipmap, mipmap, mipmap);
 
-    for(int i=0; i<mNumEffects; i++) ((MatrixEffect)mEffects[i]).apply(mViewMatrix,mUniforms,i);
+    for(int i=mNumEffects-1; i>=0; i--) ((MatrixEffect)mEffects[i]).apply(mViewMatrix,mUniforms,i);
 
     Matrix.translateM(mViewMatrix, 0, halfX,halfY,halfZ);
     Matrix.multiplyMM(mMVPMatrix, 0, projection, 0, mViewMatrix, 0);
diff --git a/src/main/java/org/distorted/library/type/Dynamic.java b/src/main/java/org/distorted/library/type/Dynamic.java
index 9139f7f..72aeb3d 100644
--- a/src/main/java/org/distorted/library/type/Dynamic.java
+++ b/src/main/java/org/distorted/library/type/Dynamic.java
@@ -613,10 +613,11 @@ public abstract class Dynamic
  *
  * @param buffer Float buffer we will write the results to.
  * @param offset Offset in the buffer where to write the result.
- * @param time Time of interpolation. Time=0.0 would return the first Point, Time=0.5 - the last,
- *             time=1.0 - the first again, and time 0.1 would be 1/5 of the way between the first and the last Points.
- * @param step Time difference between now and the last time we called this function. Needed to figure out
- *             if the previous time we were called the effect wasn't finished yet, but now it is.
+ * @param time   Time of interpolation. Time=0.0 would return the first Point, Time=0.5*mDuration - the
+ *               last, time=1.0*mDuration - the first again, and time 0.1*mDuration would be 1/5 of the
+ *               way between the first and the last Points.
+ * @param step   Time difference between now and the last time we called this function. Needed to figure
+ *               out if the previous time we were called the effect wasn't finished yet, but now it is.
  * @return true if the interpolation reached its end.
  */
   public boolean get(float[] buffer, int offset, long time, long step)
