title: Drawing Textures in OpenGL using gluOrtho2D
body: <p>I'm using the following piece of code to display a raw image file, but it displays nothing: </p>
  
  <pre><code>GLuint texture;
  GLuint LoadTexture( const char * filename, int width, int height);
  void FreeTexture(GLuint texture);
  
  void display()
  {
      glClear (GL_COLOR_BUFFER_BIT);
      glBindTexture( GL_TEXTURE_2D, texture ); 
      glBegin (GL_QUADS); //begin drawing our quads
      glTexCoord2d(0.0, 0.0);
      glVertex3f(0.0, 0.0, 0.0); //with our vertices we have to assign a texcoord
  
      glTexCoord2d(1.0, 0.0);
      glVertex3f(1.0, 0.0, 0.0); //so that our texture has some points to draw to
  
      glTexCoord2d(1.0, 1.0);
      glVertex3f(1.0, 1.0, 0.0);
  
      glTexCoord2d(0.0, 1.0);
      glVertex3f(0.0, 1.0, 0.0);
      glEnd();
      glPopMatrix();
      glFlush();
  }
  
  void init()
  {
      glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
      gluOrtho2D(0, 640, 0, 480);
      glEnable( GL_TEXTURE_2D );
  }
  
  int main(int argc, char **argv)
  {
      glutInit (&amp;argc, argv);
      glutInitDisplayMode (GLUT_SINGLE);
      glutInitWindowSize (640, 480);
      glutInitWindowPosition (100, 100);
      glutCreateWindow ("A basic OpenGL Window");
      glutDisplayFunc (display);
      init();
      texture = LoadTexture("texture.raw", 256, 256);
      glutMainLoop ();
      FreeTexture(texture);
  
      return 0;
  }
  </code></pre>
  
  <p>All I get as an output is an empty screen. What could be wrong?</p>