commit c04864019f36734e4961d9296b0f617016638ac0
Author: Leszek Koltunski <leszek@distorted.org>
Date:   Wed Dec 14 23:24:11 2016 +0000

    Improve the 'FBO' app to test more things.

diff --git a/src/main/java/org/distorted/examples/fbo/FBORenderer.java b/src/main/java/org/distorted/examples/fbo/FBORenderer.java
index 36033e5..f80a99e 100644
--- a/src/main/java/org/distorted/examples/fbo/FBORenderer.java
+++ b/src/main/java/org/distorted/examples/fbo/FBORenderer.java
@@ -29,10 +29,12 @@ import org.distorted.examples.R;
 
 import org.distorted.library.DistortedObjectTree;
 import org.distorted.library.Distorted;
+import org.distorted.library.GridCubes;
 import org.distorted.library.GridFlat;
 import org.distorted.library.DistortedTexture;
 import org.distorted.library.DistortedEffectQueues;
 import org.distorted.library.EffectTypes;
+import org.distorted.library.type.Dynamic;
 import org.distorted.library.type.Dynamic1D;
 import org.distorted.library.type.Static1D;
 import org.distorted.library.type.Static3D;
@@ -101,7 +103,7 @@ class FBORenderer implements GLSurfaceView.Renderer
       GLES20.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
 
       InputStream is1 = mView.getContext().getResources().openRawResource(R.raw.monalisa);
-      InputStream is2 = mView.getContext().getResources().openRawResource(R.raw.fbo);
+      InputStream is2 = mView.getContext().getResources().openRawResource(R.raw.grid);
       
       Bitmap bitmap1, bitmap2;
        
@@ -132,22 +134,29 @@ class FBORenderer implements GLSurfaceView.Renderer
       DistortedEffectQueues textQueues = new DistortedEffectQueues();
 
       mRoot = new DistortedObjectTree(lisa,mQueues,new GridFlat(1,1));
-      mRoot.attach(text,textQueues,new GridFlat(20,5));
+      mRoot.attach(text,textQueues,new GridCubes(20,5,false));
 
-      float factor = lisaWidth/(1.5f*textWidth);
+      float factor = lisaWidth/(2.0f*textWidth);
 
-      textQueues.move( new Static3D(lisaWidth/6,lisaHeight/3,0) );
+      textQueues.move( new Static3D( (lisaWidth-factor*textWidth)/2,(lisaHeight-factor*textHeight)/2,0) );
       textQueues.scale(factor);
 
-      Dynamic1D sinkDyn = new Dynamic1D(5000,0.0f);
+      Dynamic1D rotDyn = new Dynamic1D(12000,0.0f);
+      rotDyn.add(new Static1D(  0));
+      rotDyn.add(new Static1D(360));
+      rotDyn.setMode(Dynamic.MODE_JUMP);
+
+      textQueues.rotate(rotDyn, new Static3D(1,0,0), new Static3D(textWidth/2,textHeight/2,textHeight/10) );
+
+      Dynamic1D sinkDyn = new Dynamic1D(3000,0.0f);
       sinkDyn.add(new Static1D(1.0f));
-      sinkDyn.add(new Static1D(0.5f));
+      sinkDyn.add(new Static1D(0.3f));
 
       textQueues.sink(sinkDyn, new Static3D(textWidth/2,textHeight/2, 0));
 
-      Dynamic1D chromaDyn = new Dynamic1D(10000,0.0f);
+      Dynamic1D chromaDyn = new Dynamic1D(5000,0.0f);
       chromaDyn.add(new Static1D(0.0f));
-      chromaDyn.add(new Static1D(0.5f));
+      chromaDyn.add(new Static1D(1.0f));
 
       mQueues.chroma(chromaDyn, new Static3D(0,0,1) );
       
