commit 398fb2ee6c4e02d9b4af94b4068c4d36c542db91
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Tue Jun 13 11:45:45 2017 +0100

    Fix Moving Effects APP. Now 23 out of 31 APPs work.

diff --git a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
index 2e48a7b..8e43043 100644
--- a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
+++ b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
@@ -57,9 +57,9 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
 
     private static final Object lock = new Object();
 
-    private Dynamic3D di3D;
-    private Static4D dr;
-    private Dynamic4D mRegion;
+    private Dynamic3D mCenterVertex;
+    private Static4D mRegionVertex;
+    private Dynamic4D mRegionFragment;
 
     private Paint mPaint;
     private int moving;
@@ -67,7 +67,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
     
     private int mCurrEffect;
     private int mSize1, mSize2, mSizeR;
-    private int mMax;
+    private Static3D mDistort;
 
     private MovingEffectsRenderer mRenderer;
 
@@ -88,8 +88,10 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       mPaint.setStyle(Style.FILL);
       moving = -1;
       
-      di3D    = new Dynamic3D(LOOP_TIME,0.0f);
-      mRegion = new Dynamic4D(LOOP_TIME,0.0f);
+      mCenterVertex   = new Dynamic3D(LOOP_TIME,0.0f);
+      mRegionFragment = new Dynamic4D(LOOP_TIME,0.0f);
+      mRegionVertex   = new Static4D(0,0,0,0);
+      mDistort        = new Static3D(0,0,0);
 
       mRenderer = new MovingEffectsRenderer(this);
 
@@ -100,24 +102,25 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
         setRenderer(mRenderer);
         }
 
-      mEffectDistort = new VertexEffectDistort(new Static3D(0,0,mMax/10) , di3D, dr);
-      mEffectSink    = new VertexEffectSink(new Static1D(10), di3D, dr);
-      mEffectSwirl   = new VertexEffectSwirl( new Static1D(30), di3D, dr);
-      mEffectAlpha   = new FragmentEffectAlpha(new Static1D(0.5f), mRegion, true);
-      mEffectChroma  = new FragmentEffectChroma(new Static1D(0.5f), new Static3D(1,0,0), mRegion, true);
+      mEffectDistort = new VertexEffectDistort( mDistort , mCenterVertex, mRegionVertex);
+      mEffectSink    = new VertexEffectSink(new Static1D(10), mCenterVertex, mRegionVertex);
+      mEffectSwirl   = new VertexEffectSwirl( new Static1D(30), mCenterVertex, mRegionVertex);
+      mEffectAlpha   = new FragmentEffectAlpha(new Static1D(0.5f), mRegionFragment, true);
+      mEffectChroma  = new FragmentEffectChroma(new Static1D(0.5f), new Static3D(1,0,0), mRegionFragment, true);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     public void onSurfaceChanged(int width,int height)
       {
-      mMax = width>height ? width:height;
+      int max = width>height ? width:height;
 
-      mSize1 = mMax/200;
-      mSize2 = mMax/80;
-      mSizeR = mMax/6;
+      mSize1 = max/200;
+      mSize2 = max/80;
+      mSizeR = max/6;
 
-      dr = new Static4D(0,0, mSizeR,mSizeR);
+      mRegionVertex.set(0,0, mSizeR,mSizeR);
+      mDistort.set3(max/10);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -216,8 +219,8 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
         DistortedEffects q = mRenderer.getEffects();
         q.abortByType(EffectType.VERTEX);
         q.abortByType(EffectType.FRAGMENT);
-        di3D.removeAll();
-        mRegion.removeAll();
+        mCenterVertex.removeAll();
+        mRegionFragment.removeAll();
         mCurrEffect = EFFECT_POINTS;
         mRenderer.setRefresh();
         }
@@ -229,7 +232,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       {
       synchronized(lock)
         {  
-        int len = di3D.getNumPoints();
+        int len = mCenterVertex.getNumPoints();
 
         float[] drawCoord = new float[3];
         Static3D cu;
@@ -241,7 +244,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
           for(int i=0; i<NUM_POINTS; i++)
             {
             mPaint.setColor( 0xffffffff );
-            di3D.interpolateMain( drawCoord, 0, (long)(i*step) );
+            mCenterVertex.interpolateMain( drawCoord, 0, (long)(i*step) );
             c.drawCircle(drawCoord[0], drawCoord[1], mSize1, mPaint );
             }
           }
@@ -250,7 +253,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       
         for(int curr=0; curr<len; curr++)
           {       
-          cu = di3D.getPoint(curr);
+          cu = mCenterVertex.getPoint(curr);
           c.drawCircle(cu.getX(), cu.getY(), mSize2, mPaint);
           }
         
@@ -273,15 +276,17 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
                                     
                                       float gx, gy;
                                       Static2D dv;
-                                      int len = di3D.getNumPoints();
+                                      int len = mCenterVertex.getNumPoints();
                                  
                                       for(int g=0; g<len; g++)
                                         {
-                                        dv = di3D.getPoint(g);
+                                        dv = mCenterVertex.getPoint(g);
                                         gx = dv.getX();
                                         gy = dv.getY();
-                                    
-                                        if( (xDown-gx)*(xDown-gx) + (yDown-gy)*(yDown-gy) < (mMax*mMax)/100 )
+
+                                        float Z = mDistort.getZ()/10;
+
+                                        if( (xDown-gx)*(xDown-gx) + (yDown-gy)*(yDown-gy) < Z*Z )
                                           {
                                           moving = g;
                                           break;
@@ -291,8 +296,8 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
                                         {
                                         synchronized(lock)
                                           {
-                                          di3D.add(new Static3D(xDown,yDown,0));
-                                          mRegion.add(new Static4D(xDown,yDown,mSizeR,mSizeR));
+                                          mCenterVertex.add(new Static3D(xDown,yDown,0));
+                                          mRegionFragment.add(new Static4D(xDown,yDown,mSizeR,mSizeR));
                                           }
                                         }
                                       mRenderer.setRefresh();
@@ -302,8 +307,8 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
                                         xDown = (int)event.getX();
                                         yDown = (int)event.getY();
 
-                                        di3D.setPoint(moving, xDown, yDown, 0);
-                                        mRegion.setPoint(moving, xDown, yDown, mSizeR, mSizeR);
+                                        mCenterVertex.setPoint(moving, xDown, yDown, 0);
+                                        mRegionFragment.setPoint(moving, xDown, yDown, mSizeR, mSizeR);
                                         }
                                       mRenderer.setRefresh();
                                       break;
