commit 8eed34d3020e73fba68b99bce751532ecaf675f2
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sat Feb 29 23:25:11 2020 +0000

    Moving the Vertex and Fragment centers of effect to the center of the Mesh.

diff --git a/src/main/java/org/distorted/examples/check/CheckRenderer.java b/src/main/java/org/distorted/examples/check/CheckRenderer.java
index d0c23fc..19248ef 100644
--- a/src/main/java/org/distorted/examples/check/CheckRenderer.java
+++ b/src/main/java/org/distorted/examples/check/CheckRenderer.java
@@ -65,8 +65,7 @@ class CheckRenderer implements GLSurfaceView.Renderer
     private MeshRectangles mMesh;
     private DistortedScreen mScreen;
     private int mObjHeight, mObjWidth;
-    private Static3D mScale, mCenter;
-    private Static3D mSwirl1, mSwirl2, mDeform1, mDeform2;
+    private Static3D mScale, mSwirl1, mSwirl2, mDeform1, mDeform2;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -88,7 +87,6 @@ class CheckRenderer implements GLSurfaceView.Renderer
       mDeform1= new Static3D(0,0,0);
       mDeform2= new Static3D(0,0,0);
       mScale  = new Static3D(1,1,1);
-      mCenter = new Static3D(0,0,0);
 
       mEffects = new DistortedEffects();
       mEffects.apply(new MatrixEffectScale(mScale));
@@ -112,7 +110,7 @@ class CheckRenderer implements GLSurfaceView.Renderer
       dDeform.add(mDeform1);
       dDeform.add(mDeform2);
 
-      if( !mEffects.apply( new VertexEffectDeform(dDeform,mCenter) ) )
+      if( !mEffects.apply( new VertexEffectDeform(dDeform,new Static3D(0,0,0)) ) )
         {
         Log.e("Check", "Failed to add Deform effect!");
         }
@@ -189,11 +187,10 @@ class CheckRenderer implements GLSurfaceView.Renderer
       mScreen.detachAll();
       mScreen.attach(mTexture,mEffects,mMesh);
 
-      mSwirl1.set (          0, mObjHeight/2, 0);
-      mSwirl2.set (mObjWidth  , mObjHeight/2, 0);
-      mDeform1.set(          0,         0   , 0);
-      mDeform2.set(          0, mObjHeight  , 0);
-      mCenter.set (mObjWidth/2,         0   , 0);
+      mSwirl1.set (-mObjWidth/2,          0, 0);
+      mSwirl2.set ( mObjWidth/2,          0, 0);
+      mDeform1.set(           0,          0, 0);
+      mDeform2.set(           0, mObjHeight, 0);
 
       try
         {
diff --git a/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java b/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java
index 5bc3032..ffb02b8 100644
--- a/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java
+++ b/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java
@@ -69,7 +69,7 @@ class DifferentBitmapsRenderer implements GLSurfaceView.Renderer
       Dynamic3D dDistort = new Dynamic3D(3000,0.0f);
       dDistort.add(new Static3D( 25,0,0));
       dDistort.add(new Static3D(-25,0,0));
-      Static3D mPoint = new Static3D(305, 220, 0);
+      Static3D mPoint = new Static3D(0,-60,0);
 
       mEffects = new DistortedEffects[NUM];
       mEffects[0] = new DistortedEffects();
diff --git a/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java b/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java
index d784d53..a5b3984 100644
--- a/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java
+++ b/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java
@@ -68,15 +68,15 @@ class DifferentEffectsRenderer implements GLSurfaceView.Renderer
       mView = v;
       
       // mEffects[0] effects
-      Static3D pLeft = new Static3D(214, 394, 0);
-      Static3D pRight= new Static3D(390, 388, 0);
+      Static3D pLeft = new Static3D(214 - 594/2, 394 - 600/2, 0);
+      Static3D pRight= new Static3D(390 - 594/2, 388 - 600/2, 0);
       Static4D RegionEye = new Static4D(0,0,0,60);
       
       // mEffects[1] effects
       Dynamic3D dyn = new Dynamic3D(1000,0.0f);
       dyn.add(new Static3D( 50,0,0));
       dyn.add(new Static3D(-50,0,0));
-      Static3D pNose1 = new Static3D(305, 260, 0);
+      Static3D pNose1 = new Static3D(305 - 594/2, 260 - 600/2, 0);
       
       // we don't need to prepare anything for mEffects[2] effects
 
diff --git a/src/main/java/org/distorted/examples/effectqueue/EffectQueueSurfaceView.java b/src/main/java/org/distorted/examples/effectqueue/EffectQueueSurfaceView.java
index c68c1ef..40e8f3e 100644
--- a/src/main/java/org/distorted/examples/effectqueue/EffectQueueSurfaceView.java
+++ b/src/main/java/org/distorted/examples/effectqueue/EffectQueueSurfaceView.java
@@ -38,6 +38,8 @@ import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
 import org.distorted.library.type.Dynamic3D;
 
+import static org.distorted.examples.effectqueue.EffectQueueRenderer.*;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public class EffectQueueSurfaceView extends GLSurfaceView
@@ -135,8 +137,8 @@ public class EffectQueueSurfaceView extends GLSurfaceView
 
     switch(action)
       {
-      case MotionEvent.ACTION_DOWN: x =                          (int)event.getX()* EffectQueueRenderer.BWID/mScrW;
-                                    y = EffectQueueRenderer.BHEI-(int)event.getY()* EffectQueueRenderer.BHEI/mScrH;
+      case MotionEvent.ACTION_DOWN: x = (int)event.getX()*BWID/mScrW - BWID/2;
+                                    y = BHEI/2 - (int)event.getY()*BHEI/mScrH;
                                     EffectQueueActivity act = (EffectQueueActivity)getContext();
                                     Static3D center = new Static3D(x,y,0);
 
diff --git a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
index d3a465c..5b444c4 100644
--- a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
+++ b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
@@ -63,7 +63,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
 
     private Paint mPaint;
     private int moving;
-    private int mScrHeight;
+    private int mScrWidth, mScrHeight;
     private long mTime = 0;
     
     private int mCurrEffect;
@@ -119,6 +119,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       {
       int max = width>height ? width:height;
 
+      mScrWidth  = width;
       mScrHeight = height;
 
       mSize1 = max/200;
@@ -251,7 +252,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
             {
             mPaint.setColor( 0xffffffff );
             mCenter.get( drawCoord, 0, (long)(i*step) );
-            c.drawCircle(drawCoord[0], mScrHeight-drawCoord[1], mSize1, mPaint );
+            c.drawCircle(drawCoord[0] + mScrWidth*0.5f, mScrHeight*0.5f - drawCoord[1], mSize1, mPaint );
             }
           }
      
@@ -260,7 +261,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
         for(int curr=0; curr<len; curr++)
           {       
           cu = mCenter.getPoint(curr);
-          c.drawCircle(cu.get0(), mScrHeight-cu.get1(), mSize2, mPaint);
+          c.drawCircle(cu.get0() + mScrWidth*0.5f, mScrHeight*0.5f - cu.get1(), mSize2, mPaint);
           }
         
         if( time-mTime > LOOP_TIME ) mTime = time;
@@ -274,14 +275,12 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
       {
       if( mCurrEffect!=EFFECT_POINTS ) return true;   
 
-      int xDown, yDown;
+      int xDown = (int)event.getX() - mScrWidth/2;
+      int yDown = mScrHeight/2 - (int)event.getY();
 
       switch(event.getAction())
         {
-        case MotionEvent.ACTION_DOWN: xDown =              (int)event.getX();
-                                      yDown = mScrHeight - (int)event.getY();
-                                    
-                                      float gx, gy;
+        case MotionEvent.ACTION_DOWN: float gx, gy;
                                       Static3D dv;
                                       int len = mCenter.getNumPoints();
                                  
@@ -310,9 +309,6 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
                                       break;
         case MotionEvent.ACTION_MOVE: if( moving>=0 )
                                         {
-                                        xDown =              (int)event.getX();
-                                        yDown = mScrHeight - (int)event.getY();
-
                                         mCenter.setPoint(moving, xDown, yDown, 0);
                                         }
                                       mRenderer.setRefresh();
diff --git a/src/main/java/org/distorted/examples/objecttree/ObjectTreeRenderer.java b/src/main/java/org/distorted/examples/objecttree/ObjectTreeRenderer.java
index ef785ad..613e505 100644
--- a/src/main/java/org/distorted/examples/objecttree/ObjectTreeRenderer.java
+++ b/src/main/java/org/distorted/examples/objecttree/ObjectTreeRenderer.java
@@ -206,7 +206,7 @@ class ObjectTreeRenderer implements GLSurfaceView.Renderer
       Dynamic1D sinkDyn = new Dynamic1D(3000,0.0f);
       sinkDyn.add(new Static1D(1.0f));
       sinkDyn.add(new Static1D(0.3f));
-      VertexEffectSink sink = new VertexEffectSink(sinkDyn, new Static3D(gridWidth/2.0f, gridHeight/2.0f, gridDepth/2.0f) );
+      VertexEffectSink sink = new VertexEffectSink(sinkDyn, new Static3D(0,0,0) );
       gridEffects.apply(sink);
 
       VertexEffectSink.enable();
