Vertex Shader

The vertex shader is called on each vertex. The shader manipulates per-vertex data, such as vertex coordinates, normals, colors, and texture coordinates. This data is represented by attributes inside the vertex shader. Each attribute points to a VBO from where it reads vertex data.