title: Open GL setting an orthographic projection
body: <p>i am trying to draw and a simple cube and move it along the screen on Left Arrow key and Right key down (left direction and right direction respectively). I donot have exact idea of gluOrtho2d(leftortho,rightortho,bottomortho,toportho). i have tried glOrtho(leftortho,rightortho,bottomortho,toportho,-1.0,1.0) with six parameters but the result is same. The cube moves to upper right corner and vanishes.. I need help in this regard.. </p>
  
  <pre><code>double leftortho=5.0,rightortho=1.0,bottomortho=5.0,toportho=1.0;
  
  void init(void) 
  {
      glClearColor (0.0, 0.0, 0.0, 0.0);
      glShadeModel (GL_FLAT);
  }
  
  void display(void)
  {
      glClear (GL_COLOR_BUFFER_BIT);
      glColor3f (1.0, 1.0, 1.0);
      glutWireCube (1.0);
  
      gluOrtho2D(leftortho,rightortho,bottomortho,toportho);
      glFlush ();
  }
  
  void reshape (int w, int h)
  {
      glViewport (0, 0, (GLsizei) w, (GLsizei) h); 
  }
  
  float move_unit = 0.001;
  void keyboardown(int key, int x, int y)
  {
      switch (key)
      {
      case GLUT_KEY_RIGHT:
          {
          leftortho+=move_unit;
          rightortho+=move_unit;
          //bottomortho+=move_unit;
          //toportho+=move_unit;
  
          break;
          }
  
      case GLUT_KEY_LEFT:
          {
          leftortho-=move_unit;
          rightortho-=move_unit;
          //bottomortho-=move_unit;
          //toportho-=move_unit;
  
          break;
          }
  
      case GLUT_KEY_UP:
          //posY+=move_unit;;
          break;
  
      case GLUT_KEY_DOWN:
          // posY-=move_unit;;
          break;
  
      default:
          break;
      }
      glutPostRedisplay();
  }
  
  int main(int argc, char** argv)
  {
      glutInit(&amp;argc, argv);
      glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
      glutInitWindowSize (500, 500); 
      glutInitWindowPosition (100, 100);
      glutCreateWindow (argv[0]);
      init ();
      glutDisplayFunc(display); 
      glutReshapeFunc(reshape);
      glutSpecialFunc(keyboardown);
      glutMainLoop();
      return 0;
  }
  </code></pre>