CImplicitBasisFunction is a noise generator unit that generates a single layer of noise using a specifiable set of parameters. These parameters are:
VALUE noise generates noise by interpolating values specified for each grid point on the lattice. These values are calculated by using a hash of the input coordinates (integral part) in conjunction with a random seed. Value noise utilizes the selected interpolation strategy to smooth (or not smooth, in the case of NONE) the generated function. Here is value noise in the four interpolation variants, NONE, LINEAR, CUBIC, QUINTIC (left to right):
GRADIENT noise generates noise using Perlin's original method. A gradient function at each vertex on the lattice is evaluated using the fractional part of the input coordinates, and all vertices of the cell are interpolated to obtain the final signal, using the selected interpolation function. Here are the four interpolated variants of gradient noise:
GRADVAL noise is a simple weight sum (50/50) of VALUE and GRADIENT noise. It uses the specified interpolation for both layers before summing them together.
SIMPLEX calculates the signal using Perlin's improved method; gradient functions are specified at the vertices of a lattice of simplices in N-dimensional space (as opposed to the regular grid used in GRADIENT noise). See Simplex Noise Demystified for more information. Simplex noise ignores the specified interpolation function, due to the fact that beneath the covers is performs a weighted sum of values rather than a lattice interpolation. So the only variant of simplex noise is a quintic equivalent:
Wiki: CImplicitAutoCorrect
Wiki: CImplicitFractal
Wiki: DomainRotation
Wiki: GeneratorModule