commit 7126b2626391bbab010c8d2f1bd71f739e6548c3
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Mar 21 21:25:17 2019 +0000

    Further improvement for the Generic app.

diff --git a/src/main/java/org/distorted/examples/generic/GenericRenderer.java b/src/main/java/org/distorted/examples/generic/GenericRenderer.java
index 5574da0..d03fe9d 100644
--- a/src/main/java/org/distorted/examples/generic/GenericRenderer.java
+++ b/src/main/java/org/distorted/examples/generic/GenericRenderer.java
@@ -141,7 +141,7 @@ class GenericRenderer implements GLSurfaceView.Renderer
       regionEffects.apply( centerMove );
       regionEffects.apply( new MatrixEffectMove(mRegionPoint) );
       regionEffects.apply( new MatrixEffectScale(mRegionScalePoint) );
-      regionEffects.apply( new MatrixEffectMove(new Static3D( -regionSize/2 , -regionSize/2 , 0)) );
+      regionEffects.apply( new MatrixEffectMove(new Static3D( -regionSize*0.5f , -regionSize*0.5f , 0)) );
 
       resetMatrixEffects();
 
@@ -257,8 +257,8 @@ class GenericRenderer implements GLSurfaceView.Renderer
         factorCen  = (0.08f  *width)/centerSize;
         }
 
-      setCenter(0.5f,0.5f,0.0f);
-      setRegion(0.0f,0.0f,0.0f,0.5f);
+      setCenter(0.5f*mObjWidth,0.5f*mObjHeight,0.5f*mObjDepth);
+      setRegion(0.0f,0.0f,0.0f,0.25f*(mObjWidth+mObjHeight));
 
       mMoveObject.set( (width-mFactorObj*mObjWidth)/2 , (height-mFactorObj*mObjHeight)/2 , -mFactorObj*mObjDepth );
       mRotateCen.set(width*0.5f,height*0.5f, 0);
diff --git a/src/main/java/org/distorted/examples/generic/GenericViewPager.java b/src/main/java/org/distorted/examples/generic/GenericViewPager.java
index d29d204..d835cbe 100644
--- a/src/main/java/org/distorted/examples/generic/GenericViewPager.java
+++ b/src/main/java/org/distorted/examples/generic/GenericViewPager.java
@@ -34,17 +34,17 @@ import org.distorted.library.effect.EffectType;
 
 class GenericViewPager
   {
-  // Add here a new row to create another tab serving effects of a given type (you would also need to create
-  // the three layouts to fill the first 3 values of the row )
-  // Comment out a row to remove the tab.
-  //
   static final int[] TABS =
-
-      // LAYOUT ////////////  INNER LAYOUT ////////  SPINNER //////////////  EffectType /////////////////////  SHOW CENTER // SHOW REGION
-    { R.layout.effects3dtab0, R.id.effects3dlayout0, R.id.effects3dspinner0, EffectType.MATRIX     .ordinal() ,             1,          0 ,
-      R.layout.effects3dtab1, R.id.effects3dlayout1, R.id.effects3dspinner1, EffectType.VERTEX     .ordinal() ,             1,          1 ,
-      R.layout.effects3dtab2, R.id.effects3dlayout2, R.id.effects3dspinner2, EffectType.FRAGMENT   .ordinal() ,             1,          0 ,
-      R.layout.effects3dtab3, R.id.effects3dlayout3, R.id.effects3dspinner3, EffectType.POSTPROCESS.ordinal() ,             0,          0 };
+    {
+    // Add here a new row to create another tab serving effects of a given type (you would also need to
+    // create a new layout to fill the first 3 values of the row ). Comment out a row to remove the tab.
+    //
+    // LAYOUT ////////////  INNER LAYOUT ////////  SPINNER //////////////  EFFECT_TYPE //////////////////// SHOW CENTER // SHOW REGION
+    R.layout.effects3dtab0, R.id.effects3dlayout0, R.id.effects3dspinner0, EffectType.MATRIX     .ordinal() ,            1,          0 ,
+    R.layout.effects3dtab1, R.id.effects3dlayout1, R.id.effects3dspinner1, EffectType.VERTEX     .ordinal() ,            1,          1 ,
+    R.layout.effects3dtab2, R.id.effects3dlayout2, R.id.effects3dspinner2, EffectType.FRAGMENT   .ordinal() ,            1,          0 ,
+    R.layout.effects3dtab3, R.id.effects3dlayout3, R.id.effects3dspinner3, EffectType.POSTPROCESS.ordinal() ,            0,          0
+    };
 
   static final int NUM = 6;  // 6 ints required to describe 1 tab
   private static final int NUM_TABS = TABS.length/NUM;
