¡Esta es una revisión vieja del documento!
Los vertex shader mapean los vértices en la pantalla. Fragment shaders, en cambio, se encargan de los colores y del rasterizing de los fragmentos (porciones) de los triangulos resultantes.
Las variables varying, en versiones anteriores, eran las out de los vertex shaders y las in de los fragment shaders.
En la pantalla las coordenadas del framebuffer (-1,-1) y (1,1) corresponden a la parte baja-izquierda y alta-derecha respectivamente. Los VAO ya mapean los vértices en esas coordenadas.
El más simple de todos, recibe la posición y el color y los reemplaza.
#version 150 in vec4 vPosition; in vec4 vColor; out vec4 color; void main() { gl_Position = vPosition; color = vColor; }
#version 150 in vec4 color; out vec4 fColor; void main() { fColor = color; }