37 #ifndef DOXYGEN_SHOULD_SKIP_THIS
62 virtual double getValue(
double x,
double y)
override;
66 std::array<uint8_t, 256> m_perm;
67 std::array<
double, 256> m_values;
69 double at(uint8_t i, uint8_t j)
const;
92 virtual double getValue(
double x,
double y)
override;
96 std::array<uint8_t, 256> m_perm;
97 std::array<Vector2d, 256> m_gradients2D;
99 const Vector2d& at(uint8_t i, uint8_t j)
const;
121 virtual double getValue(
double x,
double y,
double z)
override;
125 std::array<uint8_t, 256> m_perm;
126 std::array<Vector3d, 256> m_gradients3D;
128 const Vector3d& at(uint8_t i, uint8_t j, uint8_t k)
const;
150 virtual double getValue(
double x,
double y)
override;
153 std::array<uint8_t, 256> m_permX;
154 std::array<uint8_t, 256> m_permY;
155 std::array<Vector2d, 256> m_gradients2D;
157 const Vector2d& at(uint8_t i, uint8_t j)
const;
180 FractalNoise2D(
Noise2D& noise,
double scale, std::size_t octaves = 8,
double lacunarity = 2.0,
double persistence = 0.5,
double
183 virtual double getValue(
double x,
double y)
override;
188 std::size_t m_octaves;
190 double m_persistence;
215 FractalNoise3D(
Noise3D& noise,
double scale, std::size_t octaves = 8,
double lacunarity = 2.0,
double persistence = 0.5,
double dimension = 1.0);
217 virtual double getValue(
double x,
double y,
double z)
override;
222 std::size_t m_octaves;
224 double m_persistence;
249 virtual double getValue(
double x,
double y)
override;
276 virtual double getValue(
double x,
double y,
double z)
override;
305 virtual double getValue(
double x,
double y)
override;
308 std::array<uint8_t, 256> m_perm;
310 const Vector2d& at(uint8_t i, uint8_t j)
const;
332 virtual double getValue(
double x,
double y)
override;
335 std::array<uint8_t, 256> m_perm;
337 const Vector2d& at(uint8_t i, uint8_t j)
const;
358 virtual double getValue(
double x,
double y,
double z)
override;
361 std::array<uint8_t, 256> m_perm;
363 const Vector3d& at(uint8_t i, uint8_t j, uint8_t k)
const;
381 virtual double getValue(
double x,
double y,
double z)
override;
385 std::vector<
double> m_data;
406 WorleyNoise2D(
Random& random, std::size_t count, Distance2<
double> distance, std::vector<
double> coeffs);
408 virtual double getValue(
double x,
double y)
override;
412 Distance2<
double> m_distance;
413 std::vector<
double> m_coeffs;
414 std::vector<Vector2d> m_cells;
435 Multifractal2D(
Noise2D& noise,
double scale, std::size_t octaves = 8,
double lacunarity = 2.0,
double persistence = 0.5,
double dimension = 1.0);
437 virtual double getValue(
double x,
double y)
override;
442 std::size_t m_octaves;
444 double m_persistence;
467 HeteroTerrain2D(
Noise2D& noise,
double scale,
double offset = 0.0, std::size_t octaves = 8,
double lacunarity = 2.0,
double persistence = 0.5,
double dimension = 1.0);
469 virtual double getValue(
double x,
double y)
override;
475 std::size_t m_octaves;
477 double m_persistence;
499 HybridMultifractal2D(
Noise2D& noise,
double scale,
double offset = 0.0, std::size_t octaves = 8,
double lacunarity = 2.0,
double persistence = 0.5,
double dimension = 1.0);
501 virtual double getValue(
double x,
double y)
override;
507 std::size_t m_octaves;
509 double m_persistence;
532 RidgedMultifractal2D(
Noise2D& noise,
double scale,
double offset = 1.0,
double gain = 1.0, std::size_t octaves = 8,
double lacunarity = 2.0,
double persistence = 0.5,
double dimension = 1.0);
534 virtual double getValue(
double x,
double y)
override;
541 std::size_t m_octaves;
543 double m_persistence;
547 #ifndef DOXYGEN_SHOULD_SKIP_THIS
A random engine.
Definition: Random.h:43
ValueNoise2D(Random &random, Step< double > step)
Constructor.
virtual double getValue(double x, double y) override
Take a 2D noise value.
RidgedMultifractal2D(Noise2D &noise, double scale, double offset=1.0, double gain=1.0, std::size_t octaves=8, double lacunarity=2.0, double persistence=0.5, double dimension=1.0)
Constructor.
WorleyNoise2D(Random &random, std::size_t count, Distance2< double > distance, std::vector< double > coeffs)
Constructor.
virtual double getValue(double x, double y) override
Take a 2D noise value.
virtual double getValue(double x, double y) override
Take a 2D noise value.
virtual double getValue(double x, double y) override
Take a 2D noise value.
WaveletNoise3D(Random &random, std::ptrdiff_t n=32)
Constructor.
virtual double getValue(double x, double y) override
Take a 2D noise value.
Gradient 3D noise.
Definition: Noises.h:109
Gradient 2D noise.
Definition: Noises.h:80
FractalNoise3D(Noise3D &noise, double scale, std::size_t octaves=8, double lacunarity=2.0, double persistence=0.5, double dimension=1.0)
Constructor.
virtual double getValue(double x, double y) override
Take a 2D noise value.
HeteroTerrain2D(Noise2D &noise, double scale, double offset=0.0, std::size_t octaves=8, double lacunarity=2.0, double persistence=0.5, double dimension=1.0)
Constructor.
virtual double getValue(double x, double y) override
Take a 2D noise value.
2D A noise function
Definition: Noise.h:35
3D A noise function
Definition: Noise.h:71
virtual double getValue(double x, double y, double z) override
Take a 3D noise value.
Ridged Multifractal 2D noise.
Definition: Noises.h:518
OpenSimplex3D noise.
Definition: Noises.h:349
GradientNoise2D(Random &random, Step< double > step)
Constructor.
OpenSimplex 2D noise.
Definition: Noises.h:323
virtual double getValue(double x, double y) override
Take a 2D noise value.
virtual double getValue(double x, double y) override
Take a 2D noise value.
Worley 2D noise.
Definition: Noises.h:396
GradientNoise3D(Random &random, Step< double > step)
Constructor.
HybridMultifractal2D(Noise2D &noise, double scale, double offset=0.0, std::size_t octaves=8, double lacunarity=2.0, double persistence=0.5, double dimension=1.0)
Constructor.
OpenSimplexNoise3D(Random &random)
Constructor.
PerlinNoise3D(Random &random, double scale, std::size_t octaves=8)
Constructor.
PerlinNoise2D(Random &random, double scale, std::size_t octaves=8)
Constructor.
Perlin 2D noise.
Definition: Noises.h:238
Perlin 3D noise.
Definition: Noises.h:265
virtual double getValue(double x, double y, double z) override
Take a 3D noise value.
virtual double getValue(double x, double y, double z) override
Take a 3D noise value.
FractalNoise2D(Noise2D &noise, double scale, std::size_t octaves=8, double lacunarity=2.0, double persistence=0.5, double dimension=1.0)
Constructor.
virtual double getValue(double x, double y, double z) override
Take a 3D noise value.
Fractal 3D noise.
Definition: Noises.h:203
virtual double getValue(double x, double y) override
Take a 2D noise value.
Fractal 2D noise.
Definition: Noises.h:168
OpenSimplexNoise2D(Random &random)
Constructor.
virtual double getValue(double x, double y) override
Take a 2D noise value.
Wavelet 3D noise.
Definition: Noises.h:371
Value 2D noise.
Definition: Noises.h:50
SimplexNoise2D(Random &random)
Constructor.
Hybrid Multifractal 2D noise.
Definition: Noises.h:486
Simplex 2D noise.
Definition: Noises.h:296
#define GF_API
Definition: Portability.h:35
virtual double getValue(double x, double y) override
Take a 2D noise value.
Multifractal2D(Noise2D &noise, double scale, std::size_t octaves=8, double lacunarity=2.0, double persistence=0.5, double dimension=1.0)
Constructor.
Better gradient 2D noise.
Definition: Noises.h:141
Multi Fractal 2D noise.
Definition: Noises.h:423
virtual double getValue(double x, double y, double z) override
Take a 3D noise value.
BetterGradientNoise2D(Random &random)
Constructor.
Hetero Terrain 2D noise.
Definition: Noises.h:454