(based on heightmap terrain)
the vertex shader:
each vertex a distance d along its normal using Perlin noise, which is a
function of position and time.
the fragment shader:
up colour in texture, based on d, so that less displaced points are dark blue
and more displaced points are white-ish