QcNoise Class
Seeded gradient noise (improved Perlin) in 2D and 3D with fractal sums. More...
| Header: | #include <worldgen/terrain/QcNoise.h> |
Public Functions
| double | fractal2(double x, double z, int octaves, double persistence = 0.5) const |
| double | fractal3(double x, double y, double z, int octaves, double persistence = 0.5) const |
| double | noise2(double x, double z) const |
| double | noise3(double x, double y, double z) const |
Related Non-Members
| quint64 | qcMixSeed(quint64 seed, quint64 salt) |
| quint64 | qcNameSalt(const QString &name) |
| double | qcPositionRandom(quint64 seed, int x, int y, int z) |
Detailed Description
Output of noise2/noise3 lies roughly in [-1, 1]; identical seeds give identical values on every platform.
Member Function Documentation
double QcNoise::fractal2(double x, double z, int octaves, double persistence = 0.5) const
Returns fractal Brownian motion of noise2() at x, z: octaves layers, each with doubled frequency and persistence times the amplitude, divided by the sum of the amplitudes (0 for no octave).
double QcNoise::fractal3(double x, double y, double z, int octaves, double persistence = 0.5) const
Returns fractal Brownian motion of noise3() at x, y, z, built like fractal2() from octaves layers with persistence.
double QcNoise::noise2(double x, double z) const
Returns the 2D noise at x, z.
double QcNoise::noise3(double x, double y, double z) const
Returns the 3D noise at x, y, z.
Related Non-Members
quint64 qcMixSeed(quint64 seed, quint64 salt)
Returns a sub-seed mixed from seed and salt (stateless 64-bit mixing).
quint64 qcNameSalt(const QString &name)
Returns a stable salt from the definition name ("qtcraft:oak_tree"; FNV-1a of the UTF-8 bytes), so the seeds of features and ores do not shift when content is added or removed.
double qcPositionRandom(quint64 seed, int x, int y, int z)
Returns a uniform value in [0, 1) for the integer position x, y, z and seed.