![]() |
Gamedev Framework (gf)
0.16.0
A C++14 framework for 2D games
|
Gamedev Framework (gf) provides some useful tools for procedural generation. Here is a quick overview.
A coherent noise is a pseudo-random function. It can be used to create textures, or maps. The most well-known 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.
Diamond square is an improvment of midpoint displacement.