32 #include "Portability.h" 37 #ifndef DOXYGEN_SHOULD_SKIP_THIS 62 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 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 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 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 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 double getValue(
double x,
double y,
double z)
override;
222 std::size_t m_octaves;
224 double m_persistence;
249 double getValue(
double x,
double y)
override;
276 double getValue(
double x,
double y,
double z)
override;
305 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 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 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;
382 double getValue(
double x,
double y,
double z)
override;
386 std::vector<double> m_data;
409 double getValue(
double x,
double y)
override;
414 std::vector<double> m_coeffs;
415 std::vector<Vector2d> m_cells;
436 Multifractal2D(
Noise2D& noise,
double scale, std::size_t octaves = 8,
double lacunarity = 2.0,
double persistence = 0.5,
double dimension = 1.0);
438 double getValue(
double x,
double y)
override;
443 std::size_t m_octaves;
445 double m_persistence;
468 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);
470 double getValue(
double x,
double y)
override;
476 std::size_t m_octaves;
478 double m_persistence;
500 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);
502 double getValue(
double x,
double y)
override;
508 std::size_t m_octaves;
510 double m_persistence;
533 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);
535 double getValue(
double x,
double y)
override;
542 std::size_t m_octaves;
544 double m_persistence;
569 double getValue(
double x,
double y)
override;
577 #ifndef DOXYGEN_SHOULD_SKIP_THIS 582 #endif // GF_NOISES_H A random engine.
Definition: Random.h:46
void scale(Matrix3f &mat, Vector2f factor)
Combine the current transform with a scaling.
Distance< T, 2 > Distance2
A distance function for 2D vectors.
Definition: Vector.h:1355
Gradient 3D noise.
Definition: Noises.h:109
Gradient 2D noise.
Definition: Noises.h:80
2D A noise function
Definition: Noise.h:35
3D A noise function
Definition: Noise.h:71
Ridged Multifractal 2D noise.
Definition: Noises.h:519
OpenSimplex3D noise.
Definition: Noises.h:349
OpenSimplex 2D noise.
Definition: Noises.h:323
Worley 2D noise.
Definition: Noises.h:397
The namespace for gf classes.
Definition: Action.h:35
Perlin 2D noise.
Definition: Noises.h:238
Perlin 3D noise.
Definition: Noises.h:265
Fractal 3D noise.
Definition: Noises.h:203
Fractal 2D noise.
Definition: Noises.h:168
Wavelet 3D noise.
Definition: Noises.h:372
An adapter that make a 2D noise from a 3D noise.
Definition: Noises.h:558
Value 2D noise.
Definition: Noises.h:50
T(*)(T) Step
A step is a function with special features.
Definition: Math.h:167
Hybrid Multifractal 2D noise.
Definition: Noises.h:487
Simplex 2D noise.
Definition: Noises.h:296
General purpose math vector.
Definition: Vector.h:61
Better gradient 2D noise.
Definition: Noises.h:141
Multi Fractal 2D noise.
Definition: Noises.h:424
Vector< double, 3 > Vector3d
A double vector with 3 components.
Definition: Vector.h:1128
Hetero Terrain 2D noise.
Definition: Noises.h:455