This fbm function is a more general fbm that takes more parameters.
basis_type selects from a number of basis noise functions:
0: Perlin basis
1: Ridged basis
2: Voronoi basis
x is a 3-vector at which the noise is evaluated.
H controls the fractal dimension: a larger value causes faster attenuation of higher frequencies.
A good default value is 1.
Lacunarity determines the gap in frequencies between different 'octaves' of noise.
A larger lacunarity means each subsequence octave will have higher frequency.
A good default value is 2.
Octaves determines the number of octaves of noise that are added together. If the value has a fractional component, the last octave is attenuated by the fractional part then added.
Perlin basis, 1 octave
Ridged basis, 1 octave
Voronoi basis, 1 octave
Perlin basis, 1 octave
Perlin basis, 2 octaves
Perlin basis, 3 octaves
Perlin basis, 10 octaves
Ridged basis, 1 octave
Ridged basis, 10 octaves
Voronoi basis, 1 octave
Voronoi basis, 10 octaves
Ridged basis, H=1
Ridged basis, H=1.5
Ridged basis, H=2
Ridged basis, lacunarity = 3
Ridged basis, lacunarity = 4
Ridged basis, lacunarity = 6
You can download the example Indigo scene used in the images above here.