title: glGenVertexArrays and glGenBuffers arguments
body: <p>In a tutorial about OpenGL 3.0+, we create a Vertex Array Object and Vertex Buffer Object this way:</p>
  
  <pre><code>GLuint VAO, VBO; 
  glGenVertexArrays(1, &amp;VAO);
  glGenBuffers(1, &amp;VBO);
  glBindVertexArray(VAO);
  glBindBuffer(GL_ARRAY_BUFFER, VBO);
  </code></pre>
  
  <p>Here, VAO is an <code>unsigned int</code> (<code>GLuint</code>) and we pass a̶ ̶r̶e̶f̶e̶r̶e̶n̶c̶e̶  its address to it in the function <code>glGenVertexArray</code>. However, according to the documentation, the second argument of the function should be an <em>array of</em> <code>unsigned int</code> (<code>GLuint*</code>). Same goes for VBO and <code>glGenBuffers</code>. I don't understand why the above code works with such arguments.</p>
  
  <p>I've tried to replace the above code by this one (and do the necessary modifications elsewhere in my code) :</p>
  
  <pre><code>GLuint VAO[1];
  GLuint VBO[1];
  glGenVertexArrays(1, VAO);
  glGenBuffers(1, VBO);
  glBindVertexArray(VAO[1]);
  glBindBuffer(GL_ARRAY_BUFFER, VBO[1]);
  </code></pre>
  
  <p>It compiles and executes, but I get an unexpected behaviour : my textured rectangle renders with the first syntax but not with the second one. I don't understand why this happens as well.</p>
  
  <p>EDIT : Thank you. As stated, there is an indexing mistake in the second code.</p>