commit 8664ea2e03aa9b92415a92064d95e900c0bdb9d5
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sat Feb 29 14:45:43 2020 +0000

    Fixes for the merge.

diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index 77cb157..06473e5 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -42,7 +42,7 @@
         <activity android:name=".quaternion.QuaternionActivity" />          
         <activity android:name=".generic.GenericActivity" />
         <activity android:name=".generic.GenericActivity2"/>
-        <activity android:name=".plainmonalisa.PlainMonaLisaActivity" />
+        <activity android:name=".surfaceview.SurfaceViewActivity" />
         <activity android:name=".save.SaveActivity"/>
         <activity android:name=".flag.FlagActivity"/>
         <activity android:name=".wind.WindActivity"/>
diff --git a/src/main/java/org/distorted/examples/flag/FlagRenderer.java b/src/main/java/org/distorted/examples/flag/FlagRenderer.java
index 45feba3..b278675 100644
--- a/src/main/java/org/distorted/examples/flag/FlagRenderer.java
+++ b/src/main/java/org/distorted/examples/flag/FlagRenderer.java
@@ -54,7 +54,7 @@ class FlagRenderer implements GLSurfaceView.Renderer
     private Dynamic5D mWaveDyn;
     private Static5D mWaveSta1, mWaveSta2;
     private int mObjWidth, mObjHeight, mObjDepth;
-    private Static3D mMove, mScale, mCenter;
+    private Static3D mScale;
 
     Static4D mQuat1, mQuat2;
     int mScreenMin;
@@ -161,9 +161,7 @@ class FlagRenderer implements GLSurfaceView.Renderer
       {
       mScreenMin = width<height ? width:height;
       float factor = ( width*mObjHeight > height*mObjWidth ) ? (0.8f*height)/mObjHeight : (0.8f*width)/mObjWidth;
-      mMove.set((width-factor*mObjWidth)/2 , (height-factor*mObjHeight)/2 , 0);
       mScale.set(factor,factor,factor);
-      mCenter.set(mObjWidth/2,mObjHeight/2, 0);
       mScreen.resize(width, height);
       }
 
diff --git a/src/main/java/org/distorted/examples/mirror/MirrorRenderer.java b/src/main/java/org/distorted/examples/mirror/MirrorRenderer.java
index 54f27cb..0c7324c 100644
--- a/src/main/java/org/distorted/examples/mirror/MirrorRenderer.java
+++ b/src/main/java/org/distorted/examples/mirror/MirrorRenderer.java
@@ -95,8 +95,8 @@ class MirrorRenderer implements GLSurfaceView.Renderer
       mEffectsMirror.apply( new MatrixEffectScale(mScaleMirror));
       mEffectsOffscreen1.apply( new MatrixEffectScale( new Static3D(MIRROR_SCALE,MIRROR_SCALE,MIRROR_SCALE)));
       mEffectsOffscreen2.apply( new MatrixEffectMove(mMoveOffscreen2) );
-      mEffectsHead.apply( new MatrixEffectMove(mHeadPosition) );
       mEffectsHead.apply( new MatrixEffectScale(mScaleHead) );
+      mEffectsHead.apply( new MatrixEffectMove(mHeadPosition) );
       mEffectsOffscreen1.apply(new FragmentEffectBrightness(new Static1D(MIRROR_BRIGHTNESS)));
       }
 
@@ -157,7 +157,6 @@ class MirrorRenderer implements GLSurfaceView.Renderer
 
         float headScale = HEAD_SCALE *mScreenH/ mHeadH;
         mScaleHead.set(headScale,headScale,headScale);
-        mHeadPosition.set1( mScreenH*MIRROR_MARGIN*mMirrorW/mMirrorH );
 
         float scaleW = (float)mScreenW/mMirrorW;
         float scaleH = (float)mScreenH/mMirrorH;
@@ -165,8 +164,7 @@ class MirrorRenderer implements GLSurfaceView.Renderer
         mScaleMirror.set( scaleW, scaleH, 1.0f);
 
         mMoveOffscreen2.set( (MIRROR_MOVE_H-0.5f+0.5f*MIRROR_SCALE)*mScreenW, (MIRROR_MOVE_V-0.5f+0.5f*MIRROR_SCALE)*mScreenH*mMirrorW/mMirrorH, 0);
-        mHeadPosition.set2( (0.5f*HEAD_SCALE - 0.5f + MIRROR_MARGIN*mMirrorW/mMirrorH)*mScreenH );
-
+        mHeadPosition.set1( (0.5f*HEAD_SCALE - 0.5f + MIRROR_MARGIN*mMirrorW/mMirrorH)*mScreenH );
         setPosition(mX);
 
         mOffScreen1.attach( mTextureMirror, mEffectsMirror    , mQuadMirror );
diff --git a/src/main/java/org/distorted/examples/wind/WindEffectsManager.java b/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
index d13dc46..3193e7f 100644
--- a/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
+++ b/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
@@ -26,7 +26,6 @@ import org.distorted.library.effect.MatrixEffectShear;
 import org.distorted.library.effect.VertexEffectDeform;
 import org.distorted.library.effect.VertexEffectWave;
 import org.distorted.library.main.DistortedEffects;
-import org.distorted.library.main.DistortedTexture;
 import org.distorted.library.type.Dynamic;
 import org.distorted.library.type.Dynamic5D;
 import org.distorted.library.type.Static3D;
@@ -105,15 +104,16 @@ class WindEffectsManager
 
   void apply(DistortedEffects effects)
     {
-    Static3D midLeftMatrix= new Static3D(-mWidth/2,0,0);          // matrix effects have their origin in the center!
+    Static3D midLeftMatrix= new Static3D(-mWidth/2,0,0);          // matrix effects center is in the middle
     Static3D midRight     = new Static3D(mWidth,mHeight/2,0);     //
-    Static3D tadRight     = new Static3D(3*mWidth/4,mHeight/2,0); // whereas vertex effects - in the bottom-left corner
+    Static3D tadRight     = new Static3D(3*mWidth/4,mHeight/2,0); // vertex & fragment - in the lower-left
     Static4D windRegion   = new Static4D(0,0,0,mHeight);          //
 
     setWind(0);
 
-    effects.apply( new MatrixEffectShear(shearFactor,midLeftMatrix) );
     effects.apply( new MatrixEffectScale(scaleFactor) );
+    effects.apply( new MatrixEffectShear(shearFactor,midLeftMatrix) );
+
     effects.apply( new VertexEffectDeform(deformForce,midRight) );
     effects.apply( new VertexEffectWave(windDynamic1, midRight, windRegion) );
     effects.apply( new VertexEffectWave(windDynamic2, midRight, windRegion) );
diff --git a/src/main/java/org/distorted/examples/wind/WindRenderer.java b/src/main/java/org/distorted/examples/wind/WindRenderer.java
index c6a0a45..27599e1 100644
--- a/src/main/java/org/distorted/examples/wind/WindRenderer.java
+++ b/src/main/java/org/distorted/examples/wind/WindRenderer.java
@@ -27,6 +27,7 @@ import org.distorted.examples.R;
 import org.distorted.library.effect.MatrixEffectMove;
 import org.distorted.library.effect.MatrixEffectRotate;
 import org.distorted.library.effect.MatrixEffectScale;
+import org.distorted.library.effect.MatrixEffectShear;
 import org.distorted.library.effect.VertexEffectDeform;
 import org.distorted.library.effect.VertexEffectWave;
 import org.distorted.library.main.DistortedLibrary;
@@ -36,6 +37,7 @@ import org.distorted.library.main.DistortedEffects;
 import org.distorted.library.main.DistortedTexture;
 import org.distorted.library.type.Static1D;
 import org.distorted.library.type.Static3D;
+import org.distorted.library.type.Static4D;
 
 import java.io.IOException;
 import java.io.InputStream;
