This document attempts to describe 2D displacement mapping. This
technique has a wide variety of uses, as will soon become
obvious. The reader is not expected to have any real knowledge
of writing OpenGL shaders but the details of creating/loading
shaders, creating an OpenGL context, etc, are out of the scope
of this document.
Displacement is essentially about affecting the position of
a thing using another thing, as shocking as that may seem. In
less silly terms, displacement mapping is about affecting the
position of parts of an object (vertices, pixels) by using
values obtained from a displacement map (usually a texture in
current graphics systems).