An introduction to GLSL and fragment/pixelshaders
weworkweplay.com