commit 4b34bb08419c84853f696ad4940f07173ad80f75
Author: Leszek Koltunski <leszek@distorted.org>
Date:   Tue Nov 15 00:34:29 2016 +0000

    progress with Around the World

diff --git a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldActivity.java b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldActivity.java
index d96ea1b..918e417 100644
--- a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldActivity.java
+++ b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldActivity.java
@@ -39,8 +39,13 @@ public class AroundTheWorldActivity extends Activity
 
       AroundTheWorldSurfaceView       view = (AroundTheWorldSurfaceView)       this.findViewById(R.id.aroundTheWorldSurfaceView);
       AroundTheWorldSurfaceViewPicker pick = (AroundTheWorldSurfaceViewPicker) this.findViewById(R.id.aroundTheWorldSurfaceViewPicker);
+      AroundTheWorldEffectsManager    mana = view.getManager();
+      AroundTheWorldRendererPicker    renp = pick.getRenderer();
 
-      pick.setEffectsManager(view.getManager());
+      renp.move(0,0);
+      mana.setRace(0.33f,0.33f);
+
+      pick.setEffectsManager(mana);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java
index dbca660..309c866 100644
--- a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java
+++ b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java
@@ -23,33 +23,74 @@ package org.distorted.examples.aroundtheworld;
 
 import org.distorted.library.DistortedObject;
 import org.distorted.library.type.Dynamic;
+import org.distorted.library.type.Dynamic1D;
+import org.distorted.library.type.Dynamic2D;
 import org.distorted.library.type.Dynamic3D;
 import org.distorted.library.type.Dynamic5D;
+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;
 
 class AroundTheWorldEffectsManager
   {
-  private int mHeight, mWidth;
   private float mBlackness, mAsianness;
 
+  private Static4D regionPinchSwirl, regionNose, regionLips, regionSkin, regionLEye, regionREye;
+  private Static3D centerLEye, centerREye, centerNose, centerLips;
+
+  private Dynamic2D pinchDyn;
+  private Dynamic1D swirlDyn1, swirlDyn2, sinkDyn;
+  private Static1D swirlFactor1, swirlFactor2, sinkFactor;
+  private Static2D pinchFactor;
+
+  private Static3D chromaSkin, chromaEyes;
+  private Static1D chromaSkinFactor, chromaEyesFactor;
+  private Dynamic1D chromaSkinDyn, chromaEyesDyn;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   AroundTheWorldEffectsManager()
     {
-    mHeight    = 0;
-    mWidth     = 0;
     mBlackness = 0;
     mAsianness = 0;
-    }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
+    centerLEye = new Static3D( 88,117,0);
+    centerREye = new Static3D(211,117,0);
+    centerNose = new Static3D(150,175,0);
+    centerLips = new Static3D(150,240,0);
 
-  void setSize(int width, int height)
-    {
-    mWidth = width;
-    mHeight= height;
+    regionPinchSwirl = new Static4D(0,0,42,100);
+    regionNose       = new Static4D(0,0,51,100);
+    regionLips       = new Static4D(0,0,57,100);
+    regionSkin       = new Static4D(150,150,300,300);
+    regionLEye       = new Static4D( 87,117,15,12);
+    regionREye       = new Static4D(213,117,15,12);
+
+    pinchFactor      = new Static2D(1.0f, 0.0f);
+    swirlFactor1     = new Static1D(1.0f);
+    swirlFactor2     = new Static1D(1.0f);
+    sinkFactor       = new Static1D(1.0f);
+
+    chromaSkin       = new Static3D(0.5f, 0.11f, 0.11f);
+    chromaEyes       = new Static3D(0.5f, 0.14f, 0.14f);
+    chromaSkinFactor = new Static1D(0.0f);
+    chromaEyesFactor = new Static1D(0.0f);
+
+    pinchDyn = new Dynamic2D();
+    pinchDyn.add(pinchFactor);
+    swirlDyn1= new Dynamic1D();
+    swirlDyn1.add(swirlFactor1);
+    swirlDyn2= new Dynamic1D();
+    swirlDyn2.add(swirlFactor2);
+    sinkDyn  = new Dynamic1D();
+    sinkDyn.add(sinkFactor);
+
+    chromaSkinDyn = new Dynamic1D();
+    chromaSkinDyn.add(chromaSkinFactor);
+    chromaEyesDyn = new Dynamic1D();
+    chromaEyesDyn.add(chromaEyesFactor);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -58,7 +99,16 @@ class AroundTheWorldEffectsManager
     {
     setRace(mBlackness, mAsianness);
 
-    // TODO
+    obj.pinch(pinchDyn, centerLEye, regionPinchSwirl);
+    obj.pinch(pinchDyn, centerREye, regionPinchSwirl);
+    obj.swirl(swirlDyn1,centerLEye, regionPinchSwirl);
+    obj.swirl(swirlDyn2,centerREye, regionPinchSwirl);
+    obj.sink(sinkDyn, centerNose, regionNose);
+    obj.sink(sinkDyn, centerLips, regionLips);
+
+    obj.chroma(chromaSkinDyn, chromaSkin, regionSkin, false);
+    obj.chroma(chromaEyesDyn, chromaEyes, regionLEye, true);
+    obj.chroma(chromaEyesDyn, chromaEyes, regionREye, true);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -68,7 +118,13 @@ class AroundTheWorldEffectsManager
     mBlackness = blackness;
     mAsianness = asianness;
 
-    android.util.Log.e("manager", "blackness="+blackness+" asianness="+asianness);
-    // TODO
+    //android.util.Log.e("manager", "blackness="+blackness+" asianness="+asianness);
+
+    pinchFactor.set1(1-0.2f*asianness);
+    swirlFactor1.set( 10.0f*asianness);
+    swirlFactor2.set(-10.0f*asianness);
+    sinkFactor.set(1-0.4f*asianness);
+    chromaSkinFactor.set(0.28f*asianness);
+    chromaEyesFactor.set(0.78f*asianness);
     }
   }
diff --git a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java
index ede288a..3f11ab3 100644
--- a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java
+++ b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java
@@ -52,11 +52,14 @@ class AroundTheWorldRenderer implements GLSurfaceView.Renderer
       {
       mView = view;
       mEffects = new AroundTheWorldEffectsManager();
+
+      Distorted.setMaxVertex(6);
+      Distorted.setMaxFragment(3);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-   public AroundTheWorldEffectsManager getManager()
+   AroundTheWorldEffectsManager getManager()
      {
      return mEffects;
      }
@@ -120,8 +123,6 @@ class AroundTheWorldRenderer implements GLSurfaceView.Renderer
       mObjWidth = mObject.getWidth();
       mObjHeight= mObject.getHeight();
 
-      mEffects.setSize(mObjWidth,mObjHeight);
-
       mObject.setBitmap(bitmap);
       mEffects.apply(mObject);
 
