36 #ifndef DOXYGEN_SHOULD_SKIP_THIS 61 double getValue(
double x,
double y)
override;
65 std::array<uint8_t, 256> m_perm;
66 std::array<double, 256> m_values;
68 double at(uint8_t i, uint8_t j)
const;
91 double getValue(
double x,
double y)
override;
95 std::array<uint8_t, 256> m_perm;
96 std::array<Vector2d, 256> m_gradients2D;
98 const Vector2d& at(uint8_t i, uint8_t j)
const;
120 double getValue(
double x,
double y,
double z)
override;
124 std::array<uint8_t, 256> m_perm;
125 std::array<Vector3d, 256> m_gradients3D;
127 const Vector3d& at(uint8_t i, uint8_t j, uint8_t k)
const;
149 double getValue(
double x,
double y)
override;
152 std::array<uint8_t, 256> m_permX;
153 std::array<uint8_t, 256> m_permY;
154 std::array<Vector2d, 256> m_gradients2D;
156 const Vector2d& at(uint8_t i, uint8_t j)
const;
179 FractalNoise2D(
Noise2D& noise,
double scale, std::size_t octaves = 8,
double lacunarity = 2.0,
double persistence = 0.5,
double 182 double getValue(
double x,
double y)
override;
187 std::size_t m_octaves;
189 double m_persistence;
214 FractalNoise3D(
Noise3D& noise,
double scale, std::size_t octaves = 8,
double lacunarity = 2.0,
double persistence = 0.5,
double dimension = 1.0);
216 double getValue(
double x,
double y,
double z)
override;
221 std::size_t m_octaves;
223 double m_persistence;
248 double getValue(
double x,
double y)
override;
275 double getValue(
double x,
double y,
double z)
override;
304 double getValue(
double x,
double y)
override;
307 std::array<uint8_t, 256> m_perm;
309 const Vector2d& at(uint8_t i, uint8_t j)
const;
331 double getValue(
double x,
double y)
override;
334 std::array<uint8_t, 256> m_perm;
336 const Vector2d& at(uint8_t i, uint8_t j)
const;
357 double getValue(
double x,
double y,
double z)
override;
360 std::array<uint8_t, 256> m_perm;
362 const Vector3d& at(uint8_t i, uint8_t j, uint8_t k)
const;
381 double getValue(
double x,
double y,
double z)
override;
385 std::vector<double> m_data;
408 double getValue(
double x,
double y)
override;
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 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 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 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 double getValue(
double x,
double y)
override;
541 std::size_t m_octaves;
543 double m_persistence;
568 double getValue(
double x,
double y)
override;
576 #ifndef DOXYGEN_SHOULD_SKIP_THIS 581 #endif // GF_NOISES_H A random engine.
Definition: Random.h:47
GF_CORE_API void scale(Matrix3f &mat, Vector2f factor)
Combine the current transform with a scaling.
Gradient 3D noise.
Definition: Noises.h:108
Gradient 2D noise.
Definition: Noises.h:79
2D A noise function
Definition: Noise.h:35
3D A noise function
Definition: Noise.h:71
Ridged Multifractal 2D noise.
Definition: Noises.h:518
OpenSimplex3D noise.
Definition: Noises.h:348
OpenSimplex 2D noise.
Definition: Noises.h:322
Worley 2D noise.
Definition: Noises.h:396
The namespace for gf classes.
Definition: Action.h:35
Perlin 2D noise.
Definition: Noises.h:237
Perlin 3D noise.
Definition: Noises.h:264
Fractal 3D noise.
Definition: Noises.h:202
Fractal 2D noise.
Definition: Noises.h:167
Wavelet 3D noise.
Definition: Noises.h:371
T(*)(T) Step
A step is a function with special features.
Definition: Math.h:177
An adapter that make a 2D noise from a 3D noise.
Definition: Noises.h:557
Value 2D noise.
Definition: Noises.h:49
Hybrid Multifractal 2D noise.
Definition: Noises.h:486
Simplex 2D noise.
Definition: Noises.h:295
Vector< double, 3 > Vector3d
A double vector with 3 components.
Definition: Vector.h:1149
General purpose math vector.
Definition: Vector.h:61
Better gradient 2D noise.
Definition: Noises.h:140
Multi Fractal 2D noise.
Definition: Noises.h:423
Distance< T, 2 > Distance2
A distance function for 2D vectors.
Definition: Vector.h:1376
Hetero Terrain 2D noise.
Definition: Noises.h:454