The 1st demonstrates the textured mesh without lighting.
The 2nd with lighting (ambient and diffuse are red, specular is white).
The 3rd shows specular only applied to water (i.e. where the height is 0, or in my case <0.1).
Next is a translation of the texture to better fit the mesh, note how much more visible each polygon is with the lighting applied, I also set the edges to be mirrored repeat after this screenshot so the edges of the texture were less visible.
Then just ambient lighting (they uploaded in the wrong order, this may have been done solely on the fragment shader).
Now we come to a couple of experiments, the first sets the colour based on the height value (scaled down). The second sets it based on the x position, y position and z position. Such that Red = X, Green = Y etc. Also note that the mesh is a wire-frame now, this is done with glPolygonMode.
This next one is a chequered plane transformed by 2 perpendicular sine waves. It may use a triangle-strip instead of a triangle mesh to save on the number of vertices created, since I didn't add limits it got a bit crazy at the edges.
Then we come to the original texture I was going to use, it is a 19th century map overlaid by a Google map. This particular image wouldn't work as the aspect ratio was off, there was transparency around and it was at the wrong position and angle.
Then a couple of images demonstrating what happened when I was learning to implement the different types of shader.