title: No display from glDrawElements
body: <p>When I use glDrawArrays I get a triangle in the middle of my screen, as expected.
  But when I try to use glDrawElements nothing comes up at all.</p>
  
  <p>I have tried all sorts of things like reordering the gl calls, moving the attribute pointers, and even hard coding verts and index appears to do nothing as shown in my code.</p>
  
  <p>This code runs once:</p>
  
  <pre><code>// Initialise GLFW
  if( !glfwInit() )
  {
          fprintf( stderr, "Failed to initialize GLFW\n" );
          //return -1;
  }
  
  glfwOpenWindowHint(GLFW_FSAA_SAMPLES, 4); // 4x antialiasing
  glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3); // We want OpenGL 3.3
  glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 3);
  glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE); //We don't want the old OpenGL
  
  // Open a window and create its OpenGL context
  if( !glfwOpenWindow( mApplication-&gt;getWindowWidth(), mApplication-&gt;getWindowHeight(), 0,0,0,0, 32,0, GLFW_WINDOW ) )
  {
          fprintf( stderr, "Failed to open GLFW window\n" );
          glfwTerminate();
          //return -1;
  }
  
  // Initialize GLEW
  glewExperimental=true; // Needed in core profile
  if (glewInit() != GLEW_OK)
  {
          fprintf( stderr, "Failed to initialize GLEW\n");
          //return -1;
  }
  
  glfwSetWindowTitle( "Hello World" );
  glViewport( 0, 0, mApplication-&gt;getWindowWidth(), mApplication-&gt;getWindowHeight());
  glEnable(GL_BLEND);
  glEnable(GL_TEXTURE_2D);
  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  glClearColor(0.0f, 0.0f, 0.4f, 0.0f); // colour to use when clearing
  </code></pre>
  
  <p>This runs every step:   </p>
  
  <pre><code>float verts[] = {
          -0.5f,  0.0f,   0.0f,
           0.5f,  0.0f,   0.0f,
           0.0f,  0.5f,   0.0f,
  };
  
  unsigned int index[] = {
          1, 2, 3,
  };
  
  glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
  
  // VAO
  glGenVertexArrays(1, &amp;VAO);
  glBindVertexArray(VAO);
  
  // VBO
  glGenBuffers(1, &amp;VBO );
  glBindBuffer(GL_ARRAY_BUFFER, VBO);
  glBufferData(GL_ARRAY_BUFFER, sizeof(verts) * sizeof(float), verts, GL_STATIC_DRAW);
  glEnableVertexAttribArray(0);
  glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
  
  // IBO
  glGenBuffers(1, &amp;IBO );
  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IBO);
  glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(index) * sizeof(unsigned int), index, GL_STATIC_DRAW);
  
  glDrawArrays(GL_TRIANGLES, 0, 3); // this works
  //glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_INT, &amp;index); // this doesnt
  
  glfwSwapBuffers();
  </code></pre>
  
  <p>This is a very cut down version of what I am trying to achieve but the problem is exactly the same.</p>