title: Why is there a glMatrixMode in OpenGL?
body: <p>I just don't understand what OpenGL's <code>glMatrixMode</code> is for.</p>
  
  <p>As far as I can see, when <code>glMatrixMode(GL_MODELVIEW)</code> is called, it 
  is followed by <code>glVertex</code>, <code>glTranslate</code>, <code>glRotate</code> and the like,
  that is, OpenGL commands that <em>place</em> some objects somewhere in
  the space. On the other hand, if <code>glOrtho</code> or <code>glFrustum</code> or <code>gluProjection</code>
  is called (ie how the placed objects are <em>rendered</em>), it has a preceeding call of <code>glMatrixMode(GL_PROJECTION)</code>. </p>
  
  <p>I guess what I have written so far is an assumption on which someone will prove
  me wrong, but is not the <em>point</em> of using different <em>Matrix Mode</em>s exactly
  because there are different kinds of gl-functions: those concerned with
  placing objects and those with how the objects are rendered?</p>