Types of Noise
There are many types of noise one can use for procedural generation.
Types of noise that are good to use as-is:
- Cellular/Voronoi Noise
Other types of noise may require rotating the noise in a higher dimension (ex: for 2D noise, rotate in 3D) and then taking a slice out of it, to ensure that no square bias artifacts are visible:
Using a single type of noise might be a bit boring so, usually, one combines multiple layers of noise through mathematical formulas.
Common ways to modify noise are:
- Spline Mapping, wherein the noise is passed trough a non-constant curve function.
- Ridged Noise, which is the flipped absolute value of noise (
1 - abs(v)).
- Billow Noise, which is simply the absolute value (
abs(v)) of the output.
- Flat Middle Noise;
smoothstep( ℝ>0 , ℝ<1 , v).
- Fractal Brownian Motion, which is... a bit more complicated.
- Domain Warping: the warping of noise coordinates with more noise -- perhaps a specialized vector-outputting implementation.