Antkeeper  0.0.1
Namespaces | Functions
math::noise Namespace Reference

Noise functions. More...

Namespaces

 voronoi
 Voronoi functions.
 

Functions

template<class T , std::size_t N>
fbm (vector< T, N > position, std::size_t octaves, T lacunarity, T gain, T(*noise)(const vector< T, N > &, vector< hash::make_uint_t< T >, N >(*)(const vector< T, N > &))=&simplex< T, N >, vector< hash::make_uint_t< T >, N >(*hash)(const vector< T, N > &)=&hash::pcg< T, N >)
 Fractional Brownian motion (fBm). More...
 
template<class T , std::size_t N>
simplex (const vector< T, N > &position, vector< hash::make_uint_t< T >, N >(*hash)(const vector< T, N > &)=&hash::pcg< T, N >)
 n-dimensional simplex noise. More...
 

Detailed Description

Noise functions.

Function Documentation

◆ fbm()

template<class T , std::size_t N>
T math::noise::fbm ( vector< T, N >  position,
std::size_t  octaves,
lacunarity,
gain,
T(*)(const vector< T, N > &, vector< hash::make_uint_t< T >, N >(*)(const vector< T, N > &))  noise = &simplex<T, N>,
vector< hash::make_uint_t< T >, N >(*)(const vector< T, N > &)  hash = &hash::pcg<T, N> 
)

Fractional Brownian motion (fBm).

Template Parameters
TReal type.
NNumber of dimensions.
Parameters
positionInput position.
octavesNumber of octaves.
lacunarityFrequency multiplier.
gainAmplitude multiplier.
noiseNoise function.
hashHash function.

Definition at line 47 of file fbm.hpp.

◆ simplex()

template<class T , std::size_t N>
T math::noise::simplex ( const vector< T, N > &  position,
vector< hash::make_uint_t< T >, N >(*)(const vector< T, N > &)  hash = &hash::pcg<T, N> 
)

n-dimensional simplex noise.

Template Parameters
TReal type.
NNumber of dimensions.
Parameters
positionInput position.
hashHash function.
Returns
Noise value, on [-1, 1].
See also
https://en.wikipedia.org/wiki/Simplex_noise
https://catlikecoding.com/unity/tutorials/pseudorandom-noise/simplex-noise/
https://briansharpe.wordpress.com/2012/01/13/simplex-noise/
https://briansharpe.wordpress.com/2011/11/14/two-useful-interpolation-functions-for-noise-development/
https://math.stackexchange.com/questions/474638/radius-and-amplitude-of-kernel-for-simplex-noise/1901116

C2-continuous kernel falloff function.

Parameters
sqr_distanceSquared distance from the kernel center.
Returns
Kernel strength at the given distance.

Definition at line 141 of file simplex.hpp.