Interface for - basically 3D - noise generation algorithms, based on the
book: Texturing & Modeling - A Procedural Approach
The main concept is to look at noise as a basis for generating fractals.
Basis can be anything, like a simple:
float value(float x, float y, float z) {
return 0; // a flat noise with 0 value everywhere
}
or a more complex perlin noise (
ImprovedNoise
Fractals use these functions to generate a more complex result based on some
frequency, roughness, etcetera values.
Fractals themselves are implementing the Basis interface as well, opening
an infinite range of results.