commit 73bcf555fdd68de86fbc2f85f05234f1c47e77d6
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Dec 16 23:38:10 2021 +0100

    Correct the glBufferData's usage argument: in UBO and VBO cases, it should be GL_STATIC_DRAW.

diff --git a/src/main/java/org/distorted/library/mesh/MeshBase.java b/src/main/java/org/distorted/library/mesh/MeshBase.java
index 3b173e4..9dccdea 100644
--- a/src/main/java/org/distorted/library/mesh/MeshBase.java
+++ b/src/main/java/org/distorted/library/mesh/MeshBase.java
@@ -144,8 +144,8 @@ public abstract class MeshBase
 
      if( mUseCenters ) mUBC = new UniformBlockCenter();
 
-     mVBO1= new InternalBuffer(GLES30.GL_ARRAY_BUFFER             , GLES30.GL_STATIC_READ);
-     mVBO2= new InternalBuffer(GLES30.GL_ARRAY_BUFFER             , GLES30.GL_STATIC_READ);
+     mVBO1= new InternalBuffer(GLES30.GL_ARRAY_BUFFER             , GLES30.GL_STATIC_DRAW);
+     mVBO2= new InternalBuffer(GLES30.GL_ARRAY_BUFFER             , GLES30.GL_STATIC_DRAW);
      mTFO = new InternalBuffer(GLES30.GL_TRANSFORM_FEEDBACK_BUFFER, GLES30.GL_STATIC_READ);
      }
 
@@ -185,7 +185,7 @@ public abstract class MeshBase
      {
      shallowCopy(original);
 
-     mVBO1= new InternalBuffer(GLES30.GL_ARRAY_BUFFER, GLES30.GL_STATIC_READ);
+     mVBO1= new InternalBuffer(GLES30.GL_ARRAY_BUFFER, GLES30.GL_STATIC_DRAW);
      mVertAttribs1= new float[mNumVertices*VERT1_ATTRIBS];
      System.arraycopy(original.mVertAttribs1,0,mVertAttribs1,0,mNumVertices*VERT1_ATTRIBS);
      }
@@ -206,7 +206,7 @@ public abstract class MeshBase
      mEffComponent = new ArrayList<>();
      mEffComponent.addAll(original.mEffComponent);
 
-     mVBO2= new InternalBuffer(GLES30.GL_ARRAY_BUFFER, GLES30.GL_STATIC_READ);
+     mVBO2= new InternalBuffer(GLES30.GL_ARRAY_BUFFER, GLES30.GL_STATIC_DRAW);
      mVertAttribs2= new float[mNumVertices*VERT2_ATTRIBS];
      System.arraycopy(original.mVertAttribs2,0,mVertAttribs2,0,mNumVertices*VERT2_ATTRIBS);
      }
diff --git a/src/main/java/org/distorted/library/uniformblock/UniformBlockAssociation.java b/src/main/java/org/distorted/library/uniformblock/UniformBlockAssociation.java
index 938b522..48d6f42 100644
--- a/src/main/java/org/distorted/library/uniformblock/UniformBlockAssociation.java
+++ b/src/main/java/org/distorted/library/uniformblock/UniformBlockAssociation.java
@@ -56,7 +56,7 @@ public class UniformBlockAssociation
       mAssociations[mStride*i+LOC_EQU] = i;
       }
 
-    mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_READ);
+    mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_DRAW);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -69,7 +69,7 @@ public class UniformBlockAssociation
     mAssociations= new int[size];
     System.arraycopy(original.mAssociations, 0, mAssociations, 0, size);
 
-    mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_READ);
+    mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_DRAW);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/library/uniformblock/UniformBlockCenter.java b/src/main/java/org/distorted/library/uniformblock/UniformBlockCenter.java
index 9320b3d..b3d545a 100644
--- a/src/main/java/org/distorted/library/uniformblock/UniformBlockCenter.java
+++ b/src/main/java/org/distorted/library/uniformblock/UniformBlockCenter.java
@@ -42,7 +42,7 @@ public class UniformBlockCenter
     {
     mMax  = MeshBase.getMaxEffComponents();
     mArray= new float[4*mMax];
-    mUBO  = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_READ);
+    mUBO  = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_DRAW);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -53,7 +53,7 @@ public class UniformBlockCenter
     int size = original.mArray.length;
     mArray= new float[size];
     System.arraycopy(original.mArray, 0, mArray, 0, size);
-    mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_READ);
+    mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_DRAW);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/library/uniformblock/UniformBlockFloatUniforms.java b/src/main/java/org/distorted/library/uniformblock/UniformBlockFloatUniforms.java
index 0df066d..e8b51ae 100644
--- a/src/main/java/org/distorted/library/uniformblock/UniformBlockFloatUniforms.java
+++ b/src/main/java/org/distorted/library/uniformblock/UniformBlockFloatUniforms.java
@@ -48,7 +48,7 @@ public class UniformBlockFloatUniforms
 
     if( mReallyUseUBO )
       {
-      mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_READ);
+      mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_DRAW);
       }
     }
 
@@ -65,7 +65,7 @@ public class UniformBlockFloatUniforms
 
     if( mReallyUseUBO )
       {
-      mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_READ);
+      mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_DRAW);
       }
     }
 
diff --git a/src/main/java/org/distorted/library/uniformblock/UniformBlockIntUniforms.java b/src/main/java/org/distorted/library/uniformblock/UniformBlockIntUniforms.java
index 8f236df..6490f4c 100644
--- a/src/main/java/org/distorted/library/uniformblock/UniformBlockIntUniforms.java
+++ b/src/main/java/org/distorted/library/uniformblock/UniformBlockIntUniforms.java
@@ -48,7 +48,7 @@ public class UniformBlockIntUniforms
 
     if( mReallyUseUBO )
       {
-      mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_READ);
+      mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_DRAW);
       }
     }
 
@@ -65,7 +65,7 @@ public class UniformBlockIntUniforms
 
     if( mReallyUseUBO )
       {
-      mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_READ);
+      mUBO = new InternalBuffer(GLES30.GL_UNIFORM_BUFFER, GLES30.GL_STATIC_DRAW);
       }
     }
 
