commit 61ce8e90d51a370e84ec7288bd676a3cd4d9476b
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Jun 29 12:07:49 2018 +0100

    Minor.

diff --git a/src/main/java/org/distorted/library/main/DistortedEffects.java b/src/main/java/org/distorted/library/main/DistortedEffects.java
index 8f7b951..d7c417f 100644
--- a/src/main/java/org/distorted/library/main/DistortedEffects.java
+++ b/src/main/java/org/distorted/library/main/DistortedEffects.java
@@ -31,11 +31,6 @@ import org.distorted.library.effect.FragmentEffect;
 import org.distorted.library.effect.VertexEffect;
 import org.distorted.library.message.EffectListener;
 import org.distorted.library.program.DistortedProgram;
-import org.distorted.library.program.FragmentCompilationException;
-import org.distorted.library.program.FragmentUniformsException;
-import org.distorted.library.program.LinkingException;
-import org.distorted.library.program.VertexCompilationException;
-import org.distorted.library.program.VertexUniformsException;
 
 import java.io.InputStream;
 import java.nio.ByteBuffer;
diff --git a/src/main/java/org/distorted/library/main/DistortedOutputSurface.java b/src/main/java/org/distorted/library/main/DistortedOutputSurface.java
index e979bba..f2d92f4 100644
--- a/src/main/java/org/distorted/library/main/DistortedOutputSurface.java
+++ b/src/main/java/org/distorted/library/main/DistortedOutputSurface.java
@@ -325,24 +325,6 @@ public abstract class DistortedOutputSurface extends DistortedSurface implements
     return 1;
     }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  private static void clearBuffer(DistortedOutputSurface buffer, int fbo)
-    {
-    GLES31.glStencilMask(0xff);
-    GLES31.glDepthMask(true);
-    GLES31.glColorMask(true,true,true,true);
-    GLES31.glClearColor(1.0f,1.0f,1.0f,0.0f);
-    GLES31.glClearDepthf(1.0f);
-    GLES31.glClearStencil(0);
-
-    buffer.setAsOutputFBO(fbo);
-    GLES31.glFramebufferTexture2D(GLES31.GL_FRAMEBUFFER, GLES31.GL_COLOR_ATTACHMENT0, GLES31.GL_TEXTURE_2D, buffer.mColorH[2*fbo+1], 0);
-    GLES31.glClear(GLES31.GL_COLOR_BUFFER_BIT|GLES31.GL_DEPTH_BUFFER_BIT|GLES31.GL_STENCIL_BUFFER_BIT);
-    GLES31.glFramebufferTexture2D(GLES31.GL_FRAMEBUFFER, GLES31.GL_COLOR_ATTACHMENT0, GLES31.GL_TEXTURE_2D, buffer.mColorH[2*fbo  ], 0);
-    GLES31.glClear(GLES31.GL_COLOR_BUFFER_BIT);
-    }
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   void clear()
@@ -401,7 +383,7 @@ public abstract class DistortedOutputSurface extends DistortedSurface implements
             numRenders += lastQueue.postprocess(mBuffer,fbo);
             numRenders += oitBuild(time,mBuffer[quality],fbo);
             GLES31.glMemoryBarrier(GLES31.GL_SHADER_STORAGE_BARRIER_BIT|GLES31.GL_ATOMIC_COUNTER_BARRIER_BIT);
-            clearBuffer(mBuffer[quality],fbo);
+            mBuffer[quality].clearBuffer(fbo);
             }
 
           internalQuality = currQueue.getInternalQuality();
@@ -425,7 +407,7 @@ public abstract class DistortedOutputSurface extends DistortedSurface implements
           numRenders += oitBuild(time,mBuffer[quality],fbo);
           GLES31.glMemoryBarrier(GLES31.GL_SHADER_STORAGE_BARRIER_BIT|GLES31.GL_ATOMIC_COUNTER_BARRIER_BIT);
           numRenders += oitRender(time,fbo);  // merge the OIT linked list
-          clearBuffer(mBuffer[quality],fbo);
+          mBuffer[quality].clearBuffer(fbo);
           }
         } // end else (postprocessed child)
 
@@ -465,6 +447,24 @@ public abstract class DistortedOutputSurface extends DistortedSurface implements
     return (float)mHeight/mRealHeight;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  private void clearBuffer(int fbo)
+    {
+    GLES31.glStencilMask(0xff);
+    GLES31.glDepthMask(true);
+    GLES31.glColorMask(true,true,true,true);
+    GLES31.glClearColor(1.0f,1.0f,1.0f,0.0f);
+    GLES31.glClearDepthf(1.0f);
+    GLES31.glClearStencil(0);
+
+    GLES31.glBindFramebuffer(GLES31.GL_FRAMEBUFFER, mFBOH[fbo]);
+    GLES31.glFramebufferTexture2D(GLES31.GL_FRAMEBUFFER, GLES31.GL_COLOR_ATTACHMENT0, GLES31.GL_TEXTURE_2D, mColorH[2*fbo+1], 0);
+    GLES31.glClear(GLES31.GL_COLOR_BUFFER_BIT|GLES31.GL_DEPTH_BUFFER_BIT|GLES31.GL_STENCIL_BUFFER_BIT);
+    GLES31.glFramebufferTexture2D(GLES31.GL_FRAMEBUFFER, GLES31.GL_COLOR_ATTACHMENT0, GLES31.GL_TEXTURE_2D, mColorH[2*fbo  ], 0);
+    GLES31.glClear(GLES31.GL_COLOR_BUFFER_BIT);
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   private void setAsOutputFBO(long time, int fbo)
@@ -730,6 +730,11 @@ public abstract class DistortedOutputSurface extends DistortedSurface implements
       mNear=0.99f;
       }
 
+    if( mBuffer!=null )
+      {
+      for(int j=0; j<EffectQuality.LENGTH; j++) mBuffer[j].mNear = mNear;
+      }
+
     createProjection();
     }
 
