title: android opengl-es-2.0 - rotateM explanation
body: <p>I'm beginning with android opengl es 2.0 and I'm trying to get a grasp of the concepts.
  I've written the function below to rotate a rectangle. I've succeeded in making some rotations by playing with the values in the method rotateM. However I don't succeed in 
  making some concrete rotations of my rectangle, for example rotate 2D 45 degrees to the right.</p>
  
  <p>Basically I'm staring at the android reference which states the following;</p>
  
  <p><i>rotateM(float[] m, int mOffset, float a, float x, float y, float z)
  Rotates matrix m in place by angle a (in degrees) around the axis (x, y, z).</i></p>
  
  <p>Now I understand that we provide a modelMatrix, an offset in this matrix and the angle rotation, but why do we have to provide the xyz - axis components, what do these values really do?</p>
  
  <p>Hopefully somebody can give me a clear explanation regarding the method rotateM, thanks in advance!</p>
  
  <pre><code>private void positionRectangleInScene() {
      setIdentityM(modelMatrix, 0);
  
      rotateM(
          modelMatrix, // m        : source matrix
          0,           // mOffset  : index into m where the matrix starts
          0f,          // a        : angle ato rotate in degrees
          1f,          // x        : x-axis component
          1f,          // y        : y-axis component
          1f);         // z        : z-axis component
  
      multiplyMM(
          modelViewProjectionMatrix, 0, 
          viewProjectionMatrix, 0,
          modelMatrix, 0);
  }
  </code></pre>