HighMap library (C++)
Loading...
Searching...
No Matches
functions.hpp File Reference

Defines modular function objects for procedural generation, including noise algorithms (Perlin, Simplex, Worley), geometric primitives (disks, waves, slopes), and fractal compositions (FBM, IQ, Swiss). Provides parameter control for frequency, seeding, and layer blending to construct complex procedural patterns. More...

Go to the source code of this file.

Classes

class  hmap::Function
 A class that wraps a callable entity taking three floats and returning a float. More...
 
class  hmap::ArrayFunction
 Array (x, y) function class. More...
 
class  hmap::BiquadFunction
 Biquad (x, y) function class. More...
 
class  hmap::BumpFunction
 Bump (x, y) function class. More...
 
class  hmap::CraterFunction
 Crater (x, y) function class. More...
 
class  hmap::DiskFunction
 DiskFunction (x, y) function class. More...
 
class  hmap::GaussianPulseFunction
 GaussianPulse (x, y) function class. More...
 
class  hmap::RectangleFunction
 RectangleFunction (x, y) function class. More...
 
class  hmap::RiftFunction
 Rift (x, y) function class. More...
 
class  hmap::SlopeFunction
 Slope (x, y) function class. More...
 
class  hmap::StepFunction
 Step (x, y) function class. More...
 
class  hmap::WaveDuneFunction
 Wave dune (x, y) function class. More...
 
class  hmap::WaveSineFunction
 Wave sine (x, y) function class. More...
 
class  hmap::WaveSquareFunction
 Wave square (x, y) function class. More...
 
class  hmap::WaveTriangularFunction
 Wave triangular (x, y) function class. More...
 
class  hmap::NoiseFunction
 A class for generating noise functions. More...
 
class  hmap::ParberryFunction
 Parberry (x, y) function class. More...
 
class  hmap::PerlinFunction
 Perlin (x, y) function class. More...
 
class  hmap::PerlinBillowFunction
 Perlin 'billow' (x, y) function class. More...
 
class  hmap::PerlinHalfFunction
 Perlin 'half' (x, y) function class. More...
 
class  hmap::PerlinMixFunction
 Perlin 'mix' (x, y) function class. More...
 
class  hmap::Simplex2Function
 OpenSimplex2 (x, y) function class. More...
 
class  hmap::Simplex2SFunction
 OpenSimplex2S (x, y) function class. More...
 
class  hmap::ValueNoiseFunction
 Value noise (x, y) function class. More...
 
class  hmap::ValueCubicNoiseFunction
 Value Cubic noise (x, y) function class. More...
 
class  hmap::ValueDelaunayNoiseFunction
 ValueDelaunayNoise (x, y) function class. More...
 
class  hmap::ValueLinearNoiseFunction
 ValueLinearNoiseFunction (x, y) function class. More...
 
class  hmap::WorleyFunction
 Worley (x, y) function class. More...
 
class  hmap::WorleyDoubleFunction
 Worley (x, y) function class. More...
 
class  hmap::GenericFractalFunction
 A class for generating fractal noise functions based on an underlying noise function. More...
 
class  hmap::FbmFunction
 Fractional Brownian Motion (FBM) function class. More...
 
class  hmap::FbmIqFunction
 IQ layering function class. More...
 
class  hmap::FbmJordanFunction
 Jordan layering function class. More...
 
class  hmap::FbmPingpongFunction
 Pingpong layering function class. More...
 
class  hmap::FbmRidgedFunction
 Ridged layering function class. More...
 
class  hmap::FbmSwissFunction
 Swiss layering function class. More...
 
class  hmap::FieldFunction
 Field function class. More...
 

Namespaces

namespace  hmap
 

Enumerations

enum  hmap::NoiseType : int {
  hmap::PARBERRY , hmap::PERLIN , hmap::PERLIN_BILLOW , hmap::PERLIN_HALF ,
  hmap::SIMPLEX2 , hmap::SIMPLEX2S , hmap::VALUE , hmap::VALUE_CUBIC ,
  hmap::VALUE_DELAUNAY , hmap::VALUE_LINEAR , hmap::WORLEY , hmap::WORLEY_DOUBLE ,
  hmap::WORLEY_VALUE
}
 Enumeration of various noise types used for procedural generation. More...
 

Functions

std::function< float(float, float)> hmap::make_xy_function_from_array (const Array &array, const Vec4< float > &bbox={0.f, 1.f, 0.f, 1.f})
 Create a continuous 2D function from a sampled array.
 
std::unique_ptr< hmap::NoiseFunctionhmap::create_noise_function_from_type (NoiseType noise_type, Vec2< float > kw, uint seed)
 Create a noise function based on the specified noise type.
 

Detailed Description

Defines modular function objects for procedural generation, including noise algorithms (Perlin, Simplex, Worley), geometric primitives (disks, waves, slopes), and fractal compositions (FBM, IQ, Swiss). Provides parameter control for frequency, seeding, and layer blending to construct complex procedural patterns.

Author
Otto Link (otto..nosp@m.link.nosp@m..bv@g.nosp@m.mail.nosp@m..com)