36#ifndef DOXYGEN_SHOULD_SKIP_THIS
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;
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;
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;
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;
275 double getValue(
double x,
double y,
double z)
override;
307 std::array<uint8_t, 256> m_perm;
309 const Vector2d& at(uint8_t i, uint8_t j)
const;
365 double getValueBase(
double xs,
double ys)
const;
370 std::array<uint16_t, 2048> m_perm;
371 std::array<Vector2d, 2048> m_gradients2D;
392 double getValue(
double x,
double y,
double z)
override;
395 double getValueBase(
double xr,
double yr,
double zr)
const;
400 std::array<uint16_t, 2048> m_perm;
401 std::array<Vector3d, 2048> m_gradients3D;
420 double getValue(
double x,
double y,
double z)
override;
424 std::vector<double> m_data;
452 std::vector<double> m_coeffs;
453 std::vector<Vector2d> m_cells;
474 Multifractal2D(
Noise2D& noise,
double scale, std::size_t octaves = 8,
double lacunarity = 2.0,
double persistence = 0.5,
double dimension = 1.0);
481 std::size_t m_octaves;
483 double m_persistence;
506 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);
514 std::size_t m_octaves;
516 double m_persistence;
538 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);
546 std::size_t m_octaves;
548 double m_persistence;
571 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);
580 std::size_t m_octaves;
582 double m_persistence;
615#ifndef DOXYGEN_SHOULD_SKIP_THIS
Better gradient 2D noise.
Definition: Noises.h:140
double getValue(double x, double y) override
Take a 2D noise value.
BetterGradientNoise2D(Random &random)
Constructor.
Fractal 2D noise.
Definition: Noises.h:167
double getValue(double x, double y) override
Take a 2D 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.
Fractal 3D noise.
Definition: Noises.h:202
FractalNoise3D(Noise3D &noise, double scale, std::size_t octaves=8, double lacunarity=2.0, double persistence=0.5, double dimension=1.0)
Constructor.
double getValue(double x, double y, double z) override
Take a 3D noise value.
Gradient 2D noise.
Definition: Noises.h:79
double getValue(double x, double y) override
Take a 2D noise value.
GradientNoise2D(Random &random, Step< double > step)
Constructor.
Gradient 3D noise.
Definition: Noises.h:108
GradientNoise3D(Random &random, Step< double > step)
Constructor.
double getValue(double x, double y, double z) override
Take a 3D noise value.
Hetero Terrain 2D noise.
Definition: Noises.h:493
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.
Hybrid Multifractal 2D noise.
Definition: Noises.h:525
double getValue(double x, double y) override
Take a 2D noise value.
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.
Multi Fractal 2D noise.
Definition: Noises.h:462
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.
2D A noise function
Definition: Noise.h:35
3D A noise function
Definition: Noise.h:71
An adapter that make a 2D noise from a 3D noise.
Definition: Noises.h:596
Noise3DTo2DAdapter(Noise3D &noise, Vector3d normal=Vector3d(0.0, 0.0, 1.0), Vector3d point=Vector3d(0.0, 0.0, 0.0))
Constructor.
double getValue(double x, double y) override
Take a 2D noise value.
OpenSimplex 2D noise.
Definition: Noises.h:337
double getValue(double x, double y) override
Take a 2D noise value.
void setVariant(OpenSimplex2DVariant variant)
Definition: Noises.h:354
OpenSimplexType getType() const
Definition: Noises.h:350
void setType(OpenSimplexType type)
Definition: Noises.h:346
OpenSimplexNoise2D(Random &random, OpenSimplexType type=OpenSimplexType::Super, OpenSimplex2DVariant variant=OpenSimplex2DVariant::Classic)
Constructor.
OpenSimplex2DVariant getVariant() const
Definition: Noises.h:358
OpenSimplex3D noise.
Definition: Noises.h:383
double getValue(double x, double y, double z) override
Take a 3D noise value.
OpenSimplexNoise3D(Random &random, OpenSimplexType type=OpenSimplexType::Super, OpenSimplex3DVariant variant=OpenSimplex3DVariant::Classic)
Constructor.
Perlin 2D noise.
Definition: Noises.h:237
PerlinNoise2D(Random &random, double scale, std::size_t octaves=8)
Constructor.
double getValue(double x, double y) override
Take a 2D noise value.
Perlin 3D noise.
Definition: Noises.h:264
double getValue(double x, double y, double z) override
Take a 3D noise value.
PerlinNoise3D(Random &random, double scale, std::size_t octaves=8)
Constructor.
A set of random utilities.
Definition: Random.h:83
Ridged Multifractal 2D noise.
Definition: Noises.h:557
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.
double getValue(double x, double y) override
Take a 2D noise value.
Simplex 2D noise.
Definition: Noises.h:295
double getValue(double x, double y) override
Take a 2D noise value.
SimplexNoise2D(Random &random)
Constructor.
Value 2D noise.
Definition: Noises.h:49
ValueNoise2D(Random &random, Step< double > step)
Constructor.
double getValue(double x, double y) override
Take a 2D noise value.
Wavelet 3D noise.
Definition: Noises.h:410
double getValue(double x, double y, double z) override
Take a 3D noise value.
WaveletNoise3D(Random &random, std::ptrdiff_t n=32)
Constructor.
Worley 2D noise.
Definition: Noises.h:435
WorleyNoise2D(Random &random, std::size_t count, Distance2< double > distance, std::vector< double > coeffs)
Constructor.
double getValue(double x, double y) override
Take a 2D noise value.
GF_CORE_API 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:1376
T(*)(T) Step
A step is a function with special features.
Definition: Math.h:177
Vector< double, 3 > Vector3d
A double vector with 3 components.
Definition: Vector.h:1149
@ Super
Is the Super key pressed?
The namespace for gf classes.
OpenSimplexType
Definition: Noises.h:312
OpenSimplex3DVariant
Definition: Noises.h:322
OpenSimplex2DVariant
Definition: Noises.h:317
General purpose math vector.
Definition: Vector.h:61