http://sites.google.com/site/cursoopengl/
Hay tienen todo lo que di de ejemplos en el cursillo que di, por desgracia no puedo poner parte teórica porque el tío explicaba en voz alta y algo rápido pero se acerca bastante a lo siguiente:
http://nehe.gamedev.net/data/articles/article.asp?article=21
Los shaders son pequeños programillas que se compilan, enlazan y ejecutan dentro del programa principal, están compuestos en dos partes:
- Vertex Shader: Se encarga de la manipulación de los vértices que se muestran en pantalla.
- Fragment Shader (Pixel Shader en Direct3D): Se encarga de crear un efecto mediante un algoritmo adecuado, se aplican a todos los píxeles de un polígono. Esta parte permite crear texturas procedimentales, sombras, luz, etc...
Aquellos que sepan de OpenGL antes seguro que lo entenderán mejor que yo, porque es algo muy chungo, ya que tienes que saber de Álgebra algo para las matrices de transformación.
¡Un Saludo!