commit bc29e409a971bfdcb94776f8e5aabc5fc9ebdc59
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Thu Dec 15 16:28:45 2016 +0000

    Again change of API. Now instead of the 'DistortedEffects.draw() and DistortedTree.draw()' we have 'DistortedFramebuffer.renderTo()'

diff --git a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java
index f0769b1..5c08033 100644
--- a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java
+++ b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java
@@ -23,6 +23,7 @@ import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.opengl.GLES20;
 import android.opengl.GLSurfaceView;
+import android.provider.Settings;
 
 import org.distorted.examples.R;
 import org.distorted.library.Distorted;
@@ -77,7 +78,7 @@ class AroundTheWorldRenderer implements GLSurfaceView.Renderer
    public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(), mTexture, mGrid, mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/bean/BeanRenderer.java b/src/main/java/org/distorted/examples/bean/BeanRenderer.java
index bc37194..61c65f9 100644
--- a/src/main/java/org/distorted/examples/bean/BeanRenderer.java
+++ b/src/main/java/org/distorted/examples/bean/BeanRenderer.java
@@ -97,7 +97,7 @@ class BeanRenderer implements GLSurfaceView.Renderer
     public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(), mTexture, mGrid, mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/catanddog/CatAndDogRenderer.java b/src/main/java/org/distorted/examples/catanddog/CatAndDogRenderer.java
index f89d92d..d2f5526 100644
--- a/src/main/java/org/distorted/examples/catanddog/CatAndDogRenderer.java
+++ b/src/main/java/org/distorted/examples/catanddog/CatAndDogRenderer.java
@@ -86,7 +86,7 @@ class CatAndDogRenderer implements GLSurfaceView.Renderer
     public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(), mTexture, mGrid, mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/check/CheckRenderer.java b/src/main/java/org/distorted/examples/check/CheckRenderer.java
index f4beb5e..f81c421 100644
--- a/src/main/java/org/distorted/examples/check/CheckRenderer.java
+++ b/src/main/java/org/distorted/examples/check/CheckRenderer.java
@@ -82,7 +82,7 @@ class CheckRenderer implements GLSurfaceView.Renderer
     public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(), mTexture, mGrid, mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/cubes/CubesRenderer.java b/src/main/java/org/distorted/examples/cubes/CubesRenderer.java
index fd4df98..4bfe7d2 100644
--- a/src/main/java/org/distorted/examples/cubes/CubesRenderer.java
+++ b/src/main/java/org/distorted/examples/cubes/CubesRenderer.java
@@ -89,7 +89,7 @@ class CubesRenderer implements GLSurfaceView.Renderer
     public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(),mTexture,mGrid, mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/deform/DeformRenderer.java b/src/main/java/org/distorted/examples/deform/DeformRenderer.java
index 71255d5..d9245d0 100644
--- a/src/main/java/org/distorted/examples/deform/DeformRenderer.java
+++ b/src/main/java/org/distorted/examples/deform/DeformRenderer.java
@@ -182,7 +182,7 @@ class DeformRenderer implements GLSurfaceView.Renderer
     
      long time = System.currentTimeMillis();
       
-     stretchEffects.draw(time,stretchTexture,stretchGrid,mScreen);
+     mScreen.renderTo(stretchTexture,stretchGrid,stretchEffects,time);
       
      mPaint.setColor(0xffffffff);
      fpsCanvas.drawRect(0, 0, fpsW, fpsH, mPaint);
@@ -190,7 +190,7 @@ class DeformRenderer implements GLSurfaceView.Renderer
      fpsCanvas.drawText(fpsString, fpsW/2, 5*fpsH/6, mPaint);
       
      fpsTexture.setTexture(fpsBitmap);
-     fpsEffects.draw(time,fpsTexture,fpsGrid,mScreen);
+     mScreen.renderTo(fpsTexture,fpsGrid,fpsEffects,time);
       
      computeFPS(time);
      }
diff --git a/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java b/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java
index 1588b9d..d16b552 100644
--- a/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java
+++ b/src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java
@@ -111,7 +111,7 @@ class DifferentBitmapsRenderer implements GLSurfaceView.Renderer
       
       long time = System.currentTimeMillis();
       
-      for(int i=NUM-1; i>=0; i--) mEffects[i].draw(time, mTexture[i], mGrid, mScreen);
+      for(int i=NUM-1; i>=0; i--) mScreen.renderTo(mTexture[i], mGrid, mEffects[i], time);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java b/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java
index e6ea54a..6e54db7 100644
--- a/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java
+++ b/src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java
@@ -105,7 +105,7 @@ class DifferentEffectsRenderer implements GLSurfaceView.Renderer
       
      long time = System.currentTimeMillis();
    
-     for(int i=NUM-1; i>=0; i--) mEffects[i].draw(time, mTexture, mGrid, mScreen);
+     for(int i=NUM-1; i>=0; i--) mScreen.renderTo(mTexture, mGrid, mEffects[i], time);
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/dynamic/DynamicRenderer.java b/src/main/java/org/distorted/examples/dynamic/DynamicRenderer.java
index 7353d98..30378f6 100644
--- a/src/main/java/org/distorted/examples/dynamic/DynamicRenderer.java
+++ b/src/main/java/org/distorted/examples/dynamic/DynamicRenderer.java
@@ -106,7 +106,7 @@ class DynamicRenderer implements GLSurfaceView.Renderer
      mCanvas.drawRect(0, 0, texW, texH, mPaint);
      mView.drawCurve(mCanvas,time);
      mTexture.setTexture(mBitmap);
-     mEffects.draw(time,mTexture,mGrid,mScreen);
+     mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/effectqueue/EffectQueueRenderer.java b/src/main/java/org/distorted/examples/effectqueue/EffectQueueRenderer.java
index 41ea135..c406ec7 100644
--- a/src/main/java/org/distorted/examples/effectqueue/EffectQueueRenderer.java
+++ b/src/main/java/org/distorted/examples/effectqueue/EffectQueueRenderer.java
@@ -130,7 +130,7 @@ class EffectQueueRenderer implements GLSurfaceView.Renderer, EffectListener
   public void onDrawFrame(GL10 glUnused)
     {   
     GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT | GLES20.GL_DEPTH_BUFFER_BIT);
-    mEffects.draw(System.currentTimeMillis(), mTexture,mGrid,mScreen);
+    mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/effects3d/Effects3DRenderer.java b/src/main/java/org/distorted/examples/effects3d/Effects3DRenderer.java
index 0eccadd..20c275b 100644
--- a/src/main/java/org/distorted/examples/effects3d/Effects3DRenderer.java
+++ b/src/main/java/org/distorted/examples/effects3d/Effects3DRenderer.java
@@ -137,13 +137,13 @@ class Effects3DRenderer implements GLSurfaceView.Renderer
 
       long time = System.currentTimeMillis();
 
-      mBackgroundEffects.draw(time,mBackgroundTexture,mQuad,mScreen);
-      mObjectEffects.draw(time,mObjectTexture,mObjectGrid,mScreen);
+      mScreen.renderTo(mBackgroundTexture,mQuad      ,mBackgroundEffects,time);
+      mScreen.renderTo(mObjectTexture    ,mObjectGrid,mObjectEffects    ,time);
 
       if( Effects3DActivity.supportsCenter() )
         {
-        mCenterEffects.draw(time, mCenterTexture,mQuad,mScreen);
-        if( Effects3DActivity.supportsRegion() ) mRegionEffects.draw(time, mRegionTexture,mQuad,mScreen);
+        mScreen.renderTo(mCenterTexture,mQuad,mCenterEffects, time);
+        if( Effects3DActivity.supportsRegion() ) mScreen.renderTo(mRegionTexture,mQuad,mRegionEffects,time);
         }
       }
 
diff --git a/src/main/java/org/distorted/examples/fbo/FBORenderer.java b/src/main/java/org/distorted/examples/fbo/FBORenderer.java
index 5d09615..d24d3da 100644
--- a/src/main/java/org/distorted/examples/fbo/FBORenderer.java
+++ b/src/main/java/org/distorted/examples/fbo/FBORenderer.java
@@ -69,7 +69,7 @@ class FBORenderer implements GLSurfaceView.Renderer
     public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mRoot.draw(System.currentTimeMillis(),mScreen);
+      mScreen.renderTo(mRoot,System.currentTimeMillis());
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/flag/FlagRenderer.java b/src/main/java/org/distorted/examples/flag/FlagRenderer.java
index 6fdc4d5..106e148 100644
--- a/src/main/java/org/distorted/examples/flag/FlagRenderer.java
+++ b/src/main/java/org/distorted/examples/flag/FlagRenderer.java
@@ -143,7 +143,7 @@ class FlagRenderer implements GLSurfaceView.Renderer
     public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(), mTexture, mGrid, mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/girl/GirlRenderer.java b/src/main/java/org/distorted/examples/girl/GirlRenderer.java
index 67198d1..3d0358d 100644
--- a/src/main/java/org/distorted/examples/girl/GirlRenderer.java
+++ b/src/main/java/org/distorted/examples/girl/GirlRenderer.java
@@ -154,7 +154,7 @@ class GirlRenderer implements GLSurfaceView.Renderer
    public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(),mTexture,mGrid,mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/listener/ListenerRenderer.java b/src/main/java/org/distorted/examples/listener/ListenerRenderer.java
index 47dadf2..32f9b39 100644
--- a/src/main/java/org/distorted/examples/listener/ListenerRenderer.java
+++ b/src/main/java/org/distorted/examples/listener/ListenerRenderer.java
@@ -106,7 +106,7 @@ class ListenerRenderer implements GLSurfaceView.Renderer,EffectListener
     public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(), mTexture,mGrid,mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java b/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java
index b07a614..6f58f52 100644
--- a/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java
+++ b/src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java
@@ -62,7 +62,7 @@ class Matrix3DRenderer implements GLSurfaceView.Renderer
     public void onDrawFrame(GL10 glUnused)
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(),mTexture,mGrid,mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/monalisa/MonaLisaRenderer.java b/src/main/java/org/distorted/examples/monalisa/MonaLisaRenderer.java
index 65f9105..689e91f 100644
--- a/src/main/java/org/distorted/examples/monalisa/MonaLisaRenderer.java
+++ b/src/main/java/org/distorted/examples/monalisa/MonaLisaRenderer.java
@@ -82,7 +82,7 @@ class MonaLisaRenderer implements GLSurfaceView.Renderer
     public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(),mTexture,mGrid,mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
index 554eeae..434bf93 100644
--- a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
+++ b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
@@ -153,7 +153,7 @@ class MovingEffectsRenderer implements GLSurfaceView.Renderer
        mRefresh = false;
        }
       
-     mEffects.draw(time,mTexture,mGrid,mScreen);
+     mScreen.renderTo(mTexture, mGrid, mEffects, time );
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/olimpic/OlimpicRenderer.java b/src/main/java/org/distorted/examples/olimpic/OlimpicRenderer.java
index d769519..59e77bc 100644
--- a/src/main/java/org/distorted/examples/olimpic/OlimpicRenderer.java
+++ b/src/main/java/org/distorted/examples/olimpic/OlimpicRenderer.java
@@ -120,7 +120,7 @@ class OlimpicRenderer implements GLSurfaceView.Renderer
     public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mRoot.draw(System.currentTimeMillis(),mScreen);
+      mScreen.renderTo(mRoot,System.currentTimeMillis());
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/plainmonalisa/RenderThread.java b/src/main/java/org/distorted/examples/plainmonalisa/RenderThread.java
index 202f170..01003e7 100644
--- a/src/main/java/org/distorted/examples/plainmonalisa/RenderThread.java
+++ b/src/main/java/org/distorted/examples/plainmonalisa/RenderThread.java
@@ -267,7 +267,7 @@ class RenderThread extends Thread
     eglCore.makeCurrent(eglSurface);
 
     GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-    mEffects.draw(System.currentTimeMillis(), mTexture,mGrid,mScreen);
+    mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
 
     eglCore.swapBuffers(eglSurface);
     }
diff --git a/src/main/java/org/distorted/examples/projection/ProjectionRenderer.java b/src/main/java/org/distorted/examples/projection/ProjectionRenderer.java
index ab25552..866fc90 100644
--- a/src/main/java/org/distorted/examples/projection/ProjectionRenderer.java
+++ b/src/main/java/org/distorted/examples/projection/ProjectionRenderer.java
@@ -91,7 +91,7 @@ class ProjectionRenderer implements GLSurfaceView.Renderer
    public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(), mTexture,mGrid,mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/quaternion/QuaternionRenderer.java b/src/main/java/org/distorted/examples/quaternion/QuaternionRenderer.java
index e6d0584..db59817 100644
--- a/src/main/java/org/distorted/examples/quaternion/QuaternionRenderer.java
+++ b/src/main/java/org/distorted/examples/quaternion/QuaternionRenderer.java
@@ -94,7 +94,7 @@ class QuaternionRenderer implements GLSurfaceView.Renderer
   public void onDrawFrame(GL10 glUnused) 
     {
     GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-    mEffects.draw(System.currentTimeMillis(), mTexture,mGrid,mScreen);
+    mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/save/SaveRenderer.java b/src/main/java/org/distorted/examples/save/SaveRenderer.java
index cb1ecbe..f5ce40d 100644
--- a/src/main/java/org/distorted/examples/save/SaveRenderer.java
+++ b/src/main/java/org/distorted/examples/save/SaveRenderer.java
@@ -53,7 +53,7 @@ import android.os.Environment;
 class SaveRenderer implements GLSurfaceView.Renderer
   {
   private GLSurfaceView mView;
-  private DistortedTexture mGirl;
+  private DistortedTexture mTexture;
   private DistortedEffects mEffects;
   private GridFlat mGrid;
   private DistortedFramebuffer mScreen, mOffscreen;
@@ -156,7 +156,7 @@ class SaveRenderer implements GLSurfaceView.Renderer
       {
       mEffects.abortEffects(EffectTypes.MATRIX);
       mEffects.scale(mScaleFactor);
-      mEffects.draw(time, mGirl, mGrid, mOffscreen);
+      mOffscreen.renderTo(mTexture, mGrid, mEffects, time );
       applyMatrixEffects(scrWidth,scrHeight);
 
       int fW =(int)(mScale*bmpWidth);
@@ -180,7 +180,7 @@ class SaveRenderer implements GLSurfaceView.Renderer
       isSaving = false;
       }
 
-    mEffects.draw(time, mGirl, mGrid, mScreen);
+    mScreen.renderTo(mTexture, mGrid, mEffects, time );
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -245,8 +245,8 @@ class SaveRenderer implements GLSurfaceView.Renderer
     bmpWidth  = bitmap.getWidth();
 
     mGrid = new GridFlat(30,30*bmpHeight/bmpWidth);
-    mGirl = new DistortedTexture(bmpWidth,bmpHeight);
-    mGirl.setTexture(bitmap);
+    mTexture = new DistortedTexture(bmpWidth,bmpHeight);
+    mTexture.setTexture(bitmap);
 
     mOffscreen = new DistortedFramebuffer( (int)(mScale*bmpWidth) , (int)(mScale*bmpHeight) );
 
diff --git a/src/main/java/org/distorted/examples/sink/SinkRenderer.java b/src/main/java/org/distorted/examples/sink/SinkRenderer.java
index ecc113b..708a230 100644
--- a/src/main/java/org/distorted/examples/sink/SinkRenderer.java
+++ b/src/main/java/org/distorted/examples/sink/SinkRenderer.java
@@ -80,7 +80,7 @@ class SinkRenderer implements GLSurfaceView.Renderer
   public void onDrawFrame(GL10 glUnused) 
     {
     GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-    mEffects.draw(System.currentTimeMillis(), mTexture,mGrid,mScreen);
+    mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java b/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
index 49882ac..0743418 100644
--- a/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
+++ b/src/main/java/org/distorted/examples/starwars/StarWarsRenderer.java
@@ -150,7 +150,7 @@ class StarWarsRenderer implements GLSurfaceView.Renderer, EffectListener
   public void onDrawFrame(GL10 glUnused) 
     {
     GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-    mRoot.draw(System.currentTimeMillis(),mScreen);
+    mScreen.renderTo(mRoot,System.currentTimeMillis());
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/wind/WindRenderer.java b/src/main/java/org/distorted/examples/wind/WindRenderer.java
index eaaa2da..df3c33b 100644
--- a/src/main/java/org/distorted/examples/wind/WindRenderer.java
+++ b/src/main/java/org/distorted/examples/wind/WindRenderer.java
@@ -81,7 +81,7 @@ class WindRenderer implements GLSurfaceView.Renderer
    public void onDrawFrame(GL10 glUnused) 
       {
       GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
-      mEffects.draw(System.currentTimeMillis(),mTexture, mGrid,mScreen);
+      mScreen.renderTo(mTexture, mGrid, mEffects, System.currentTimeMillis() );
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
