This generation module, heavily based on the Perlin generation module, generates ridged-multifractal noise.
Ridged-multifractal noise is generated a lot like the Perlin noise, except the output of each octave is modified by an absolute-value function. Modifying the octave values in this way produces ridge-like formations.
Compared to simple fractals, multifractals have different roughness in different places. To achieve this, RidgedMulti derives weight of a given frequency from values of lower-frequency samples. Also, an offset is added at each step, and a gain value is multiplied in, creating a sort of feedback loop. This ensures that rough areas tend to become rougher, and smooth areas to become smoother. The resulting function is really great for terrain generation, creating both smooth valleys and rough mountain ridges.
The ridged-multi noise module usually outputs values between -1 and 1.
The module’s constructor needs:
- Frequency : defines the frequency of the first octave. Frequency represents the number of cycles per unit length that a generation module outputs.
- Persistence : persistence has no effect on the ridged multi generator.
- Lacunarity : a multiplier that determines how quickly the frequency increases for each successive octave
- Octave count : the number of octaves control the amount of detail of the ridged multi noise. Adding more octaves increases the detail of the ridged multi noise, but with the drawback of increasing the calculation time.
- Spectral weights exponent (advanced) : exponent controls weights given to different frequencies (like Persistence). Base weight of a signal is determined by raising frequency to the power of -Exponent. Thus, higher Exponent makes for less high-frequency contribution.
- Offset (advanced) : offset is added to the signal at each step. Higher Offset means more rough results (more ridges).
- Gain (advanced) : gain is the “feedback” factor that scales the lower-frequency contribution in high-frequency samples. Higher Gain values mean noisier ridges.
Frequency = 1
Frequency = 5
Frequency = 10
Lacunarity = 0.5
Lacunarity = 2
Lacunarity = 5
Octave count evolution
Octave count = 2
Octave count = 6
Octave count = 12
Spectral weights exponent evolution
Spectral weights exponent = 0.4
Spectral weights exponent = 1
Spectral weights exponent = 2
Offset = 0.7
Offset = 1
Offset = 1.3
Gain = 0.5
Gain = 1
Gain = 2