Restrictions: Cannot access any vertex other than the current one
Note: Loading a vertex shader turns off parts of the OpenGL pipeline (vertex shaders fully replace the "
T& L Unit")
Vertex shaders operate on
every vertex, the vertex shader is executed for each vertex related OpenGL call (e.g. glVertex* or glDrawArrays). A vertex shader provides almost full control over what is happening with each vertex. Consequently, all Per- Vertex operations of the fixed function OpenGL pipeline are replaced by the custom vertex shader.
Vertex Shaders take application geometry and per-vertex attributes as input and transform the input data in some meaningful way.