commit da99dd30ae9c239f29898f73b64b7ca1ad52e443
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Mon Dec 19 17:17:43 2016 +0000

    Clean up DFramebuffer's API

diff --git a/src/main/java/org/distorted/library/DistortedFramebuffer.java b/src/main/java/org/distorted/library/DistortedFramebuffer.java
index e5bc891..0616d3a 100644
--- a/src/main/java/org/distorted/library/DistortedFramebuffer.java
+++ b/src/main/java/org/distorted/library/DistortedFramebuffer.java
@@ -48,13 +48,13 @@ public class DistortedFramebuffer
   private static boolean mListMarked = false;
   private static LinkedList<DistortedFramebuffer> mList = new LinkedList<>();
 
-  private float mX, mY, mFOV;
-
-  int[] texIds = new int[1];
-  int[] fboIds = new int[1];
+  private int[] texIds = new int[1];
+  private int[] fboIds = new int[1];
 
   private boolean mMarked;
 
+  // Projection stuff
+  private float mX, mY, mFOV;
   int mWidth,mHeight,mDepth;
   float mDistance;
   float[] mProjectionMatrix;
@@ -124,6 +124,20 @@ public class DistortedFramebuffer
       texIds[0] = TEXTURE_NOT_CREATED_YET;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  void setAsOutput()
+    {
+    GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, fboIds[0]);
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  void setAsInput()
+    {
+    GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, texIds[0]);
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   private void createProjection()
diff --git a/src/main/java/org/distorted/library/DistortedTree.java b/src/main/java/org/distorted/library/DistortedTree.java
index 7943f7a..17d419d 100644
--- a/src/main/java/org/distorted/library/DistortedTree.java
+++ b/src/main/java/org/distorted/library/DistortedTree.java
@@ -216,7 +216,7 @@ public class DistortedTree
 
       if( mData.numRendered==0 )
         {
-        GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, mData.mDF.fboIds[0]);
+        mData.mDF.setAsOutput();
 
         GLES20.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
         GLES20.glClear( GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
@@ -239,8 +239,8 @@ public class DistortedTree
       mData.numRendered++;
       mData.numRendered %= mData.numPointingNodes;
 
-      GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, df.fboIds[0]);
-      GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, mData.mDF.texIds[0]);
+      df.setAsOutput();
+      mData.mDF.setAsInput();
       }
 
     mEffects.drawPriv(mTexture.mHalfX, mTexture.mHalfY, mGrid, df, currTime);
