Opengl Shading Language by Randi J. Rost, Bill Licea-Kane & Barthold Lichtenbelt