kes it possible for vertex shaders to use
    descriptive names for attribute variables rather than generic
    variables that are numbered from zero to the value of
    <code class="constant">GL_MAX_VERTEX_ATTRIBS</code> minus one. The values sent
    to each generic attribute index are part of current state.
    If a different program object is made current by calling
    <a class="citerefentry" href="glUseProgram"><span class="citerefentry"><span class="refentrytitle">glUseProgram</span></span></a>,
    