This shader allows for up to 16 layers of textures to be used
to displace a surface.  Each layer can have individual texture
coordinates and texture scale.
Any component (or the luminance) of the texture map can be used
to determine the displacement amount.
Each texture can be tiled to repeat, to streak its edges or as a decal.
If the texture file is a .rat file, the texture can be filtered and
blurred at render time.

Texture coordinates for each layer can be aquired using several
methods
    uv       - The geometry texture coordinates for the layer are used
               if the texture coordinates do not exist, the surface
               parametric coordinates are used.
    uvname   - The attribute name of the texture coordinate.
    sphere   - A polar projection (using the projection transform)
    cylinder - A cylindrical projection (using the proj transform)
    ortho    - An orthographic projection (using the proj transform)
When applying projections to compute texture coordinates, the
coordinates may be computed in world, object, shader or NDC space

Recomputing normals will cause the normals to be re-computed
  as each layer gets applied.  This will cause the displacement
  of following layers to be applied to the displaced surface
  rather than the original surface
The For Polygons toggle will cause the interpolated normals
  to be used when computing new normals.  This fixes displacements
  for smooth shaded polygons, but may make other surface types
  less accurate.
Extrapolated normal computation provides a control for smooth
  surfaces which may or may not improve the quality of normal
  computation.

If portions of the image are missing when rendering, make sure
  that the displacement bounds for the object are set properly.
