title: gl_VertexID in non-indexed rendering
body: <p>The OpenGL <a href="https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/gl_VertexID.xhtml" rel="noreferrer">gl_VertexID</a> page clearly states:</p>
  
  <blockquote>
    <p>gl_VertexID is a vertex language input variable that holds an integer index for the vertex</p>
  </blockquote>
  
  <p>while the OpenGL <a href="https://www.khronos.org/opengl/wiki/Vertex_Shader" rel="noreferrer">Vertex Shader</a> page says it is</p>
  
  <blockquote>
    <p>the index of the vertex currently being processed. When using non-indexed rendering, it is the effective index of the current vertex (the number of vertices processed + the first​ value).</p>
  </blockquote>
  
  <p>May I assume 100% that in non-indexed rendering commands gl_VertexID is the int vertex index in the bound vertex buffer? or is it rather the index of the vertex as being processed by the rendering command (which may or may be not follow the order in the vertex buffer)</p>
  
  <p>The doubt comes form the description part inside (), as for <em>the number of processed vertices</em> to be equal to the index of the current vertex in the vertex buffer, the vertices must be processed linearly. May I assume it will always be the case? Or maybe there are OpenGL implementations that process vertices backwards, or in buckets, etc..</p>