Bump mapping adds an extra sense of realism to today's computer graphics applications that is so simple, it just cannot be ignored. Learn how to do this in GLSL with OpenGL.
GLSL also gives us the texture coordinates that we assigned in OpenGL. This means that if you pass the texture id to the shader, you can replicate all the texturing done in OpenGL.
Just like lighting and coloring, OpenGL will pass us the material information for objects, allowing us to light our objects just as they would be in the fixed function OpenGL state. This tutorial will show you how to get and use the material information on your lit objects.
Previously, we looked at simuling OpenGL per vertex lighting. Now we are going to learn how to do per pixel lighting, achieving a more realistic lighting effect.
GLSL also overwrites the default lighting in OpenGL, but once again, OpenGL passes all lighting information through to us in GLSL for us to use. This tutorial will teach you how to use this information to perform per-vertex lighting, identical to that in standard OpenGL.
Coloring in GLSL overwrites any colors you introduced into your application. But OpenGL can pass your colors to GLSL for you to use.
Validating shaders, allows us to find errors on run-time instead of the shader failing and producing corrupt output. HLSL does this upon compilation inside XNA, but we have to wait until out shader compiles, which happens at run time.
GLSL is the OpenGL Shader Language, and is the OpenGL version of HLSL for DirectX. It allows us to manipulate the scene on a per vertex and per fragment basis, giving us total control.