commit 046113dcd25840eb80151adb73388fde4e7f8120
Author: leszek <leszek@koltunski.pl>
Date:   Tue Jun 27 00:42:01 2017 +0100

    make RenderState package-local.

diff --git a/src/main/java/org/distorted/library/effect/PostprocessEffectBlur.java b/src/main/java/org/distorted/library/effect/PostprocessEffectBlur.java
index 5b7069e..3c366e8 100644
--- a/src/main/java/org/distorted/library/effect/PostprocessEffectBlur.java
+++ b/src/main/java/org/distorted/library/effect/PostprocessEffectBlur.java
@@ -22,7 +22,6 @@ package org.distorted.library.effect;
 import android.opengl.GLES30;
 
 import org.distorted.library.main.DistortedFramebuffer;
-import org.distorted.library.main.DistortedRenderState;
 import org.distorted.library.program.DistortedProgram;
 import org.distorted.library.type.Data1D;
 
@@ -118,15 +117,9 @@ public class PostprocessEffectBlur extends PostprocessEffect
     GLES30.glUniform1fv( mProgram1.mUniform[2] , radius+1, mOffsets,0);
     GLES30.glUniform1fv( mProgram1.mUniform[3] , radius+1, weightsCache,offset);
     GLES30.glUniform1i ( mProgram1.mUniform[4] , radius);
-
     GLES30.glVertexAttribPointer(mProgram1.mAttribute[0], POS_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadPositions);
     GLES30.glVertexAttribPointer(mProgram1.mAttribute[1], TEX_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadTexture);
-
-    DistortedRenderState.useStencilMark();
     GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4);
-    DistortedRenderState.unuseStencilMark();
-    GLES30.glActiveTexture(GLES30.GL_TEXTURE0);
-    GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, 0);
 
     // vertical blur
     for(int i=0; i<=radius; i++) mOffsets[i] = offsetsCache[offset+i]/w1;
@@ -144,15 +137,9 @@ public class PostprocessEffectBlur extends PostprocessEffect
     GLES30.glUniform1fv( mProgram2.mUniform[2] , radius+1, mOffsets,0);
     GLES30.glUniform1fv( mProgram2.mUniform[3] , radius+1, weightsCache,offset);
     GLES30.glUniform1i ( mProgram2.mUniform[4] , radius);
-
     GLES30.glVertexAttribPointer(mProgram2.mAttribute[0], POS_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadPositions);
     GLES30.glVertexAttribPointer(mProgram2.mAttribute[1], TEX_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadTexture);
-
-    DistortedRenderState.useStencilMark();
     GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4);
-    DistortedRenderState.unuseStencilMark();
-    GLES30.glActiveTexture(GLES30.GL_TEXTURE0);
-    GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, 0);
 
     return 2;
     }
diff --git a/src/main/java/org/distorted/library/effect/PostprocessEffectGlow.java b/src/main/java/org/distorted/library/effect/PostprocessEffectGlow.java
index 1e23740..1c6f88e 100644
--- a/src/main/java/org/distorted/library/effect/PostprocessEffectGlow.java
+++ b/src/main/java/org/distorted/library/effect/PostprocessEffectGlow.java
@@ -22,7 +22,6 @@ package org.distorted.library.effect;
 import android.opengl.GLES30;
 
 import org.distorted.library.main.DistortedFramebuffer;
-import org.distorted.library.main.DistortedRenderState;
 import org.distorted.library.program.DistortedProgram;
 import org.distorted.library.type.Data1D;
 import org.distorted.library.type.Data4D;
@@ -124,15 +123,9 @@ public class PostprocessEffectGlow extends PostprocessEffect
     GLES30.glUniform1fv( mProgram1.mUniform[2] , radius+1, mOffsets,0);
     GLES30.glUniform1fv( mProgram1.mUniform[3] , radius+1, weightsCache,offset);
     GLES30.glUniform1i ( mProgram1.mUniform[4] , radius);
-
     GLES30.glVertexAttribPointer(mProgram1.mAttribute[0], POS_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadPositions);
     GLES30.glVertexAttribPointer(mProgram1.mAttribute[1], TEX_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadTexture);
-
-    DistortedRenderState.useStencilMark();
     GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4);
-    DistortedRenderState.unuseStencilMark();
-    GLES30.glActiveTexture(GLES30.GL_TEXTURE0);
-    GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, 0);
 
     // vertical blur
     for(int i=0; i<=radius; i++) mOffsets[i] = offsetsCache[offset+i]/w1;
@@ -150,15 +143,9 @@ public class PostprocessEffectGlow extends PostprocessEffect
     GLES30.glUniform1fv( mProgram2.mUniform[2] , radius+1, mOffsets,0);
     GLES30.glUniform1fv( mProgram2.mUniform[3] , radius+1, weightsCache,offset);
     GLES30.glUniform1i ( mProgram2.mUniform[4] , radius);
-
     GLES30.glVertexAttribPointer(mProgram2.mAttribute[0], POS_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadPositions);
     GLES30.glVertexAttribPointer(mProgram2.mAttribute[1], TEX_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadTexture);
-
-    DistortedRenderState.useStencilMark();
     GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4);
-    DistortedRenderState.unuseStencilMark();
-    GLES30.glActiveTexture(GLES30.GL_TEXTURE0);
-    GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, 0);
 
     return 2;
     }
diff --git a/src/main/java/org/distorted/library/main/DistortedRenderState.java b/src/main/java/org/distorted/library/main/DistortedRenderState.java
index bcbd195..b611dec 100644
--- a/src/main/java/org/distorted/library/main/DistortedRenderState.java
+++ b/src/main/java/org/distorted/library/main/DistortedRenderState.java
@@ -28,7 +28,7 @@ import android.opengl.GLES30;
  * This is a member of DistortedNode. Remembers the OpenGL state we want to set just before rendering
  * the Node.
  */
-public class DistortedRenderState
+class DistortedRenderState
 {
   // TODO: figure this out dynamically; this assumes 8 bit stencil buffer.
   private static final int STENCIL_MASK = (1<<8)-1;
@@ -259,7 +259,7 @@ public class DistortedRenderState
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public static void useStencilMark()
+  static void useStencilMark()
     {
     if( cState.stencilTest!=1 )
       {
@@ -299,7 +299,7 @@ public class DistortedRenderState
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public static void unuseStencilMark()
+  static void unuseStencilMark()
     {
     if( sState.stencilTest!=cState.stencilTest )
       {
diff --git a/src/main/java/org/distorted/library/main/EffectQueuePostprocess.java b/src/main/java/org/distorted/library/main/EffectQueuePostprocess.java
index d10ae93..07462fa 100644
--- a/src/main/java/org/distorted/library/main/EffectQueuePostprocess.java
+++ b/src/main/java/org/distorted/library/main/EffectQueuePostprocess.java
@@ -93,10 +93,13 @@ class EffectQueuePostprocess extends EffectQueue
     {
     int numRenders = 0;
 
+    DistortedRenderState.useStencilMark();
+
     for(int i=0; i<mNumEffects; i++)
       {
       numRenders += ((PostprocessEffect)mEffects[i]).apply(mUniforms,NUM_UNIFORMS*i,mQualityScale,surface.mBuffer[mQualityLevel]);
       }
+    DistortedRenderState.unuseStencilMark();
 
     return numRenders;
     }
