Vertex Shader/Defined Inputs
Vertex Shaders have the following built-in input variables.
in int gl_VertexID; in int gl_InstanceID;
gl_VertexID is 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). For indexed rendering, it is the index used to fetch this vertex from the buffer.
gl_InstanceID is the index of the current instance when doing some form of instanced rendering. The instance count always starts at 0, even when using base instance calls. When not using instanced rendering, this value will be 0.