commit ba9ae2c8878c4eab8f1a54b6a235558031dd612c
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sat Feb 29 16:00:16 2020 +0000

    Fixes for the merge.

diff --git a/src/main/java/org/distorted/examples/earth/EarthRenderer.java b/src/main/java/org/distorted/examples/earth/EarthRenderer.java
index e3336dd..40f5275 100644
--- a/src/main/java/org/distorted/examples/earth/EarthRenderer.java
+++ b/src/main/java/org/distorted/examples/earth/EarthRenderer.java
@@ -50,7 +50,6 @@ import org.distorted.library.mesh.MeshSphere;
 import org.distorted.library.type.Dynamic3D;
 import org.distorted.library.type.DynamicQuat;
 import org.distorted.library.type.Static1D;
-import org.distorted.library.type.Static2D;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
 import org.distorted.library.type.Static5D;
@@ -110,7 +109,6 @@ class EarthRenderer implements GLSurfaceView.Renderer
       mMove       = new Static3D(0,0,0);
       mScaleFactor= new Static3D(1,1,1);
       mPinch      = new Static3D(0.5f,0.0f,0.0f);
-      mPinch      = new Static3D(0.5f,0.0f,0.0f);
       mSwirl      = new Static1D(45.0f);
 
       Static3D center = new Static3D(0,0,0);
@@ -134,10 +132,10 @@ class EarthRenderer implements GLSurfaceView.Renderer
       quatInt2.add(mQuat2);
 
       mEffects = new DistortedEffects();
-      mEffects.apply( new MatrixEffectMove(mMove) );
-      mEffects.apply( new MatrixEffectScale(scale));
-      mEffects.apply( new MatrixEffectQuaternion(quatInt1, center) );
       mEffects.apply( new MatrixEffectQuaternion(quatInt2, center) );
+      mEffects.apply( new MatrixEffectQuaternion(quatInt1, center) );
+      mEffects.apply( new MatrixEffectScale(scale));
+      mEffects.apply( new MatrixEffectMove(mMove) );
 
       mScreen = new DistortedScreen();
       mScreen.setProjection(FOV, NEAR);
@@ -167,7 +165,7 @@ class EarthRenderer implements GLSurfaceView.Renderer
 
     void setLevel(int level)
       {
-      final float N=2.2f;
+      final float N=2.0f;
 
       // MAP: 0--> SCALE/N   50-->SCALE   100->SCALE*N
       mLevel = SCALE* (1.0f+  (level>=50 ? N-1 : (N-1)/N) * (level-50)/50.0f);
diff --git a/src/main/java/org/distorted/examples/meshjoin/MeshJoinRenderer.java b/src/main/java/org/distorted/examples/meshjoin/MeshJoinRenderer.java
index f8590a9..19e1b87 100644
--- a/src/main/java/org/distorted/examples/meshjoin/MeshJoinRenderer.java
+++ b/src/main/java/org/distorted/examples/meshjoin/MeshJoinRenderer.java
@@ -52,7 +52,7 @@ class MeshJoinRenderer implements GLSurfaceView.Renderer
     private DistortedTexture mTexture;
     private DistortedScreen mScreen;
     private DistortedEffects mEffects;
-    private Static3D mMove, mScale, mCenter;
+    private Static3D mScale;
     private MeshBase mMesh;
     private float mObjHeight, mObjWidth, mObjDepth;
 
@@ -65,9 +65,8 @@ class MeshJoinRenderer implements GLSurfaceView.Renderer
       {
       mView = v;
       mScreen = new DistortedScreen();
-      mMove = new Static3D(0,0,0);
       mScale= new Static3D(1,1,1);
-      mCenter=new Static3D(0,0,0);
+      Static3D center=new Static3D(0,0,0);
 
       mQuat1 = new Static4D(0,0,0,1);  // unity
       mQuat2 = new Static4D(0,0,0,1);  // quaternions
@@ -79,10 +78,9 @@ class MeshJoinRenderer implements GLSurfaceView.Renderer
       quatInt2.add(mQuat2);
 
       mEffects = new DistortedEffects();
-      mEffects.apply( new MatrixEffectQuaternion(quatInt2, mCenter) );
-      mEffects.apply( new MatrixEffectQuaternion(quatInt1, mCenter) );
+      mEffects.apply( new MatrixEffectQuaternion(quatInt2, center) );
+      mEffects.apply( new MatrixEffectQuaternion(quatInt1, center) );
       mEffects.apply( new MatrixEffectScale(mScale));
-      mEffects.apply( new MatrixEffectMove(mMove) );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -100,9 +98,7 @@ class MeshJoinRenderer implements GLSurfaceView.Renderer
 
       mScreenMin = width<height ? width:height;
       float factor = ( width*mObjHeight > height*mObjWidth ) ? (SCALE*height)/mObjHeight :  (SCALE*width)/mObjWidth;
-      mMove.set( (width-factor*mObjWidth)/2 , (height-factor*mObjHeight)/2 , -factor*mObjDepth/2 );
       mScale.set(factor,factor,factor);
-      mCenter.set( mObjWidth/2, mObjHeight/2, mObjDepth/2 );
       mScreen.resize(width, height);
       }
 
diff --git a/src/main/java/org/distorted/examples/rubik/RubikCube.java b/src/main/java/org/distorted/examples/rubik/RubikCube.java
index 248d114..faad495 100644
--- a/src/main/java/org/distorted/examples/rubik/RubikCube.java
+++ b/src/main/java/org/distorted/examples/rubik/RubikCube.java
@@ -69,7 +69,7 @@ class RubikCube
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-    RubikCube(int size, Static3D move, Static3D scale)
+    RubikCube(int size, Static3D scale)
       {
       mSize = size;
 
@@ -84,11 +84,10 @@ class RubikCube
 
       Static3D[][][] cubeVectors = new Static3D[mSize][mSize][mSize];
 
-      Static3D center = new Static3D(STRETCH_SIZE*0.5f, STRETCH_SIZE*0.5f, STRETCH_SIZE*0.5f);
+      Static3D center = new Static3D(0,0,0);
       Static4D region = new Static4D(0,0,0, STRETCH_SIZE*0.72f);
 
       VertexEffectSink        sinkEffect = new VertexEffectSink( new Static1D(getSinkStrength()), center, region );
-      MatrixEffectMove        moveEffect = new MatrixEffectMove(move);
       MatrixEffectScale      scaleEffect = new MatrixEffectScale(scale);
       MatrixEffectQuaternion  quatEffect = new MatrixEffectQuaternion( initializeQuat(), center);
 
@@ -145,7 +144,6 @@ class RubikCube
               mEffects[x][y][z].apply( mRotate[x][y][z] );
               mEffects[x][y][z].apply(quatEffect);
               mEffects[x][y][z].apply(scaleEffect);
-              mEffects[x][y][z].apply(moveEffect);
               mEffects[x][y][z].apply(sinkEffect);
               }
             }
diff --git a/src/main/java/org/distorted/examples/rubik/RubikRenderer.java b/src/main/java/org/distorted/examples/rubik/RubikRenderer.java
index 50181a4..3e5f1c2 100644
--- a/src/main/java/org/distorted/examples/rubik/RubikRenderer.java
+++ b/src/main/java/org/distorted/examples/rubik/RubikRenderer.java
@@ -41,7 +41,7 @@ class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
 
     private RubikSurfaceView mView;
     private DistortedScreen mScreen;
-    private Static3D mMove, mScale;
+    private Static3D mScale;
     private int mNextCubeSize;
     private boolean mChangeCubeSizeNow;
     private int mNumCube;
@@ -59,7 +59,6 @@ class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
 
       mScreenWidth = mScreenHeight = 0;
 
-      mMove  = new Static3D(0,0,0);
       mScale = new Static3D(1,1,1);
 
       mNextCubeSize= MIN_CUBE_SIZE;
@@ -130,7 +129,7 @@ class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
    private void createNextCube()
      {
      if( mCube!=null ) mCube.releaseResources();
-     mCube = new RubikCube(mNextCubeSize, mMove, mScale);
+     mCube = new RubikCube(mNextCubeSize, mScale);
      mCube.createTexture();
 
      if( mScreenWidth!=0 ) recomputeScaleFactor(mScreenWidth,mScreenHeight);
@@ -158,7 +157,6 @@ class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
      float texSize = mCube.getStretchSize();
      float scaleFactor = cubeSizeInScreenSpace/(texSize*mCube.getSize());
 
-     mMove.set( (screenWidth-scaleFactor*texSize)/2 , (screenHeight-scaleFactor*texSize)/2 , -scaleFactor*texSize/2 );
      mScale.set(scaleFactor,scaleFactor,scaleFactor);
      }
 }
