commit 06ddd60d9b5fdbaa53c1be0d9dd4519339e4042a
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Jun 16 21:26:17 2020 +0100

    Fixes for the previous commit.

diff --git a/src/main/java/org/distorted/library/main/DistortedLibrary.java b/src/main/java/org/distorted/library/main/DistortedLibrary.java
index 1eda4fe..a5f7023 100644
--- a/src/main/java/org/distorted/library/main/DistortedLibrary.java
+++ b/src/main/java/org/distorted/library/main/DistortedLibrary.java
@@ -554,32 +554,35 @@ public class DistortedLibrary
 
   static void drawPrivOIT(DistortedEffects effects, MeshBase mesh, InternalOutputSurface surface, long currTime)
     {
-    EffectQueue[] queues = effects.getQueues();
+    if( mMainOITProgram!=null )
+      {
+      EffectQueue[] queues = effects.getQueues();
 
-    EffectQueue.compute(queues, currTime);
-    GLES30.glViewport(0, 0, surface.mWidth, surface.mHeight );
+      EffectQueue.compute(queues, currTime);
+      GLES30.glViewport(0, 0, surface.mWidth, surface.mHeight );
 
-    mMainOITProgram.useProgram();
-    GLES30.glUniform1i(mMainOITTextureH, 0);
-    GLES30.glUniform2ui(mMainOITSizeH, surface.mWidth, surface.mHeight);
-    GLES30.glUniform1ui(mMainOITNumRecordsH, (int)(mBufferSize*surface.mWidth*surface.mHeight) );
-    mesh.bindVertexAttribs(mMainOITProgram);
-    mesh.send(1);
+      mMainOITProgram.useProgram();
+      GLES30.glUniform1i(mMainOITTextureH, 0);
+      GLES30.glUniform2ui(mMainOITSizeH, surface.mWidth, surface.mHeight);
+      GLES30.glUniform1ui(mMainOITNumRecordsH, (int)(mBufferSize*surface.mWidth*surface.mHeight) );
+      mesh.bindVertexAttribs(mMainOITProgram);
+      mesh.send(1);
 
-    float inflate     = mesh.getInflate();
-    float distance    = surface.mDistance;
-    float mipmap      = surface.mMipmap;
-    float[] projection= surface.mProjectionMatrix;
+      float inflate     = mesh.getInflate();
+      float distance    = surface.mDistance;
+      float mipmap      = surface.mMipmap;
+      float[] projection= surface.mProjectionMatrix;
 
-    EffectQueue.send(queues, distance, mipmap, projection, inflate, mesh, 1 );
-    GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, mesh.getNumVertices() );
+      EffectQueue.send(queues, distance, mipmap, projection, inflate, mesh, 1 );
+      GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, mesh.getNumVertices() );
 
-    if( mesh.getShowNormals() )
-      {
-      mMainProgram.useProgram();
-      mesh.send(0);
-      EffectQueue.send(queues, distance, mipmap, projection, inflate, mesh, 0 );
-      displayNormals(queues,mesh);
+      if( mesh.getShowNormals() )
+        {
+        mMainProgram.useProgram();
+        mesh.send(0);
+        EffectQueue.send(queues, distance, mipmap, projection, inflate, mesh, 0 );
+        displayNormals(queues,mesh);
+        }
       }
     }
 
@@ -732,8 +735,6 @@ public class DistortedLibrary
     {
     if( mOITClearProgram==null )
       {
-      android.util.Log.e("aa", "attempting OIT compilation");
-
       if( mGLSL>=310 && !mOITCompilationAttempted )
         {
         mOITCompilationAttempted = true;
@@ -747,8 +748,6 @@ public class DistortedLibrary
           mListener.distortedException(ex);
           return;
           }
-
-        android.util.Log.e("aa", "OIT compilation successfull");
         }
       else
         {
