Gamedev Framework (gf)
0.5.0
A C++11 framework for 2D games

Gamedev Framework (gf) provides some useful tools for procedural generation. Here is a quick overview.
A coherent noise is a pseudorandom function. It can be used to create textures, or maps. The most wellknown type of noise is probably Perlin noise. Noise functions, in general, can be the basic bricks for procedural generation.
Noises classification:
Basic noise:
Name  2D  3D 

Value noise  gf::ValueNoise2D  
Gradient noise  gf::GradientNoise2D  gf::GradientNoise3D 
Better Gradient noise  gf::BetterGradientNoise2D  
Simplex noise  gf::SimplexNoise2D  
OpenSimplex noise  gf::OpenSimplexNoise2D  gf::OpenSimplexNoise3D 
Worley noise  gf::WorleyNoise2D  
Wavelet noise  gf::WaveletNoise3D 
Noise adapters:
Name  2D  3D 

Fractal noise (fBm)  gf::FractalNoise2D  gf::FractalNoise3D 
Multifractal  gf::Multifractal2D  
Hybrid Multifractal  gf::HybridMultifractal2D  
Ridged Multifractal  gf::RidgedMultifractal2D  
Hetero terrain  gf::HeteroTerrain2D 
The famous Perlin noise is just the combinaison of a fractal noise and a gradient noise but has its own classes: gf::PerlinNoise2D and gf::PerlinNoise3D.
Value noise:
Gradient noise:
Simplex noise:
OpenSimplex noise:
Perlin noise:
Midpoint displacement is a method for generating a heightmap, in 1D or 2D.