title: What does glLoadIdentity() do in OpenGL?
body: <p>I'm new to OpenGL and I'm a little overwhelmed with all of the random functions that I have in my code. They work and I know when to use them, but I don't know why I need them or what they actually do.</p>
  
  <p>I know that <code>glLoadIdentity()</code> replaces the current matrix with the identity matrix, but what exactly does that do? If every program requires it, why isn't the identity matrix by default unless otherwise specified? I don't like to have functions in my code unless I know what they do. I should note that I am using OpenGL exclusively for rich 2D clients so excuse my ignorance if this is something very obvious for 3D.</p>
  
  <p>Also a little confused about <code>glMatrixMode(GL_PROJECTION)</code> VS <code>glMatrixMode(GL_MODELVIEW)</code>.</p>