commit a8162df9f20f53ce20c398c96eceaa7b4b665710
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Thu May 18 17:18:51 2017 +0100

    Beginnings of support of Magnification.

diff --git a/src/main/java/org/distorted/library/Distorted.java b/src/main/java/org/distorted/library/Distorted.java
index 0d8dd09..bc8ecdc 100644
--- a/src/main/java/org/distorted/library/Distorted.java
+++ b/src/main/java/org/distorted/library/Distorted.java
@@ -34,6 +34,8 @@ public class Distorted
   static int GLSL;
   static String GLSL_VERSION;
 
+  static float mMagnify = 1.0f;
+
   /**
    * When creating an instance of a DistortedTexture from another instance, clone the Bitmap that's
    * backing up our DistortedTexture.
@@ -151,4 +153,11 @@ public class Distorted
 
     mInitialized = false;
     }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public static void setMagnify(float m)
+    {
+    mMagnify = m;
+    }
   }
\ No newline at end of file
diff --git a/src/main/java/org/distorted/library/EffectQueueMatrix.java b/src/main/java/org/distorted/library/EffectQueueMatrix.java
index 2ddb4ad..d3ef63c 100644
--- a/src/main/java/org/distorted/library/EffectQueueMatrix.java
+++ b/src/main/java/org/distorted/library/EffectQueueMatrix.java
@@ -103,6 +103,17 @@ class EffectQueueMatrix extends EffectQueue
     matrix[15] = mMVPMatrix[15];
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  private void magnify(float halfX, float halfY, float halfZ, float[] projection)
+    {
+    float scale = Distorted.mMagnify;
+    float[] point = new float[4];
+    point[3] = 0.0f;
+
+    Matrix.scaleM(mViewMatrix, 0, scale, scale, scale);
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // here construct the ModelView and the ModelViewProjection Matrices
 
@@ -186,6 +197,9 @@ class EffectQueueMatrix extends EffectQueue
       }
 
     Matrix.translateM(mViewMatrix, 0, halfX,-halfY,-halfZ);
+
+    if( Distorted.mMagnify!=1.0f ) magnify(halfX,halfY,halfZ, projection.mProjectionMatrix);
+
     Matrix.multiplyMM(mMVPMatrix, 0, projection.mProjectionMatrix, 0, mViewMatrix, 0);
     }
 
