title: Android openGL GLES20.glUniformMatrix4fv to java
body: <p>I'm trying to convert an Android openGL project over to Java and I am having troubles understanding the internals of</p>
  
  <pre><code>GLES20.glUniformMatrix4fv(int location, int count, boolean transpose,  float[] value, int offset)
  </code></pre>
  
  <p>In opengl ES i have two arrays each 128 floats in length</p>
  
  <pre><code>float[] jointMatrix;
  float[] invBindPoseMatrix;
  </code></pre>
  
  <p>It is then sent to the shader with these calls </p>
  
  <pre><code>GLES20.glUniformMatrix4fv(jointMatrixHandle, 8, false,DAE.jointMatrix, 0);
  GLES20.glUniformMatrix4fv(invBindPoseMatrixHandle, 8, false, DAE.invBindPoseMatrix, 0);
  </code></pre>
  
  <p>in the shader it is received as </p>
  
  <pre><code>uniform mat4 jointMatrix[8]
  uniform mat4 invBindPoseMatrix[8]
  </code></pre>
  
  <p>My question is, Is android sending the entire 128 item float array with that one call , and subdividing automatically into 8  4x4 matrices automatically? with offsets of 16.  0-15-31- etc..?</p>