pub trait NoiseFn<T, const DIM: usize> {
// Required method
fn get(&self, point: [T; DIM]) -> f64;
}
Expand description
Base trait for noise functions.
A noise function is a object that calculates and outputs a value given a n-Dimensional input value, where n is (2,3,4).
Each type of noise function uses a specific method to calculate an output value. Some of these methods include:
- Calculating a value using a coherent-noise function or some other mathematical function.
- Mathematically changing the output value from another noise function in various ways.
- Combining the output values from two noise functions in various ways.
Required Methods§
Implementations on Foreign Types§
Implementors§
impl NoiseFn<f64, 1> for Perlin
1-dimensional perlin noise
impl NoiseFn<f64, 2> for Checkerboard
impl NoiseFn<f64, 2> for Cylinders
impl NoiseFn<f64, 2> for OpenSimplex
2-dimensional OpenSimplex
Noise
This is a slower but higher quality form of gradient noise than Perlin
2D.
impl NoiseFn<f64, 2> for Perlin
2-dimensional perlin noise
impl NoiseFn<f64, 2> for PerlinSurflet
2-dimensional perlin noise
impl NoiseFn<f64, 2> for Simplex
2-dimensional Simplex noise
impl NoiseFn<f64, 2> for SuperSimplex
2-dimensional Super Simplex noise
impl NoiseFn<f64, 2> for Value
2-dimensional value noise
impl NoiseFn<f64, 2> for Worley
impl NoiseFn<f64, 3> for Checkerboard
impl NoiseFn<f64, 3> for Cylinders
impl NoiseFn<f64, 3> for OpenSimplex
3-dimensional OpenSimplex
Noise
This is a slower but higher quality form of gradient noise than Perlin
3D.
impl NoiseFn<f64, 3> for Perlin
3-dimensional perlin noise
impl NoiseFn<f64, 3> for PerlinSurflet
3-dimensional perlin noise
impl NoiseFn<f64, 3> for Simplex
3-dimensional Simplex noise
impl NoiseFn<f64, 3> for SuperSimplex
3-dimensional Super Simplex noise
impl NoiseFn<f64, 3> for Value
3-dimensional value noise
impl NoiseFn<f64, 3> for Worley
impl NoiseFn<f64, 4> for Checkerboard
impl NoiseFn<f64, 4> for Cylinders
impl NoiseFn<f64, 4> for OpenSimplex
4-dimensional OpenSimplex
Noise
This is a slower but higher quality form of gradient noise than Perlin
4D.
impl NoiseFn<f64, 4> for Perlin
4-dimensional perlin noise
impl NoiseFn<f64, 4> for PerlinSurflet
4-dimensional perlin noise
impl NoiseFn<f64, 4> for Simplex
4-dimensional Simplex noise
impl NoiseFn<f64, 4> for Value
4-dimensional value noise
impl NoiseFn<f64, 4> for Worley
impl<F, const DIM: usize> NoiseFn<f64, DIM> for NoiseFnWrapper<F, DIM>
impl<Source> NoiseFn<f64, 2> for RotatePoint<Source>
impl<Source> NoiseFn<f64, 2> for ScalePoint<Source>
impl<Source> NoiseFn<f64, 2> for TranslatePoint<Source>
impl<Source> NoiseFn<f64, 3> for RotatePoint<Source>
impl<Source> NoiseFn<f64, 3> for ScalePoint<Source>
impl<Source> NoiseFn<f64, 3> for TranslatePoint<Source>
impl<Source> NoiseFn<f64, 4> for RotatePoint<Source>
impl<Source> NoiseFn<f64, 4> for ScalePoint<Source>
impl<Source> NoiseFn<f64, 4> for TranslatePoint<Source>
impl<Source, F> NoiseFn<f64, 2> for Turbulence<Source, F>
impl<Source, F> NoiseFn<f64, 3> for Turbulence<Source, F>
impl<Source, F> NoiseFn<f64, 4> for Turbulence<Source, F>
impl<Source, XDisplace, YDisplace, ZDisplace, UDisplace> NoiseFn<f64, 2> for Displace<Source, XDisplace, YDisplace, ZDisplace, UDisplace>
impl<Source, XDisplace, YDisplace, ZDisplace, UDisplace> NoiseFn<f64, 3> for Displace<Source, XDisplace, YDisplace, ZDisplace, UDisplace>
impl<Source, XDisplace, YDisplace, ZDisplace, UDisplace> NoiseFn<f64, 4> for Displace<Source, XDisplace, YDisplace, ZDisplace, UDisplace>
impl<Source, const DIM: usize> NoiseFn<f64, DIM> for Cache<Source>
impl<T> NoiseFn<f64, 2> for BasicMulti<T>
2-dimensional BasicMulti
noise
impl<T> NoiseFn<f64, 2> for Billow<T>
2-dimensional Billow noise
impl<T> NoiseFn<f64, 2> for Fbm<T>
2-dimensional Fbm noise
impl<T> NoiseFn<f64, 2> for HybridMulti<T>
2-dimensional HybridMulti
noise
impl<T> NoiseFn<f64, 2> for RidgedMulti<T>
2-dimensional RidgedMulti
noise
impl<T> NoiseFn<f64, 3> for BasicMulti<T>
3-dimensional BasicMulti
noise
impl<T> NoiseFn<f64, 3> for Billow<T>
3-dimensional Billow noise
impl<T> NoiseFn<f64, 3> for Fbm<T>
3-dimensional Fbm noise
impl<T> NoiseFn<f64, 3> for HybridMulti<T>
3-dimensional HybridMulti
noise
impl<T> NoiseFn<f64, 3> for RidgedMulti<T>
3-dimensional RidgedMulti
noise
impl<T> NoiseFn<f64, 4> for BasicMulti<T>
4-dimensional BasicMulti
noise
impl<T> NoiseFn<f64, 4> for Billow<T>
4-dimensional Billow noise
impl<T> NoiseFn<f64, 4> for Fbm<T>
4-dimensional Fbm noise
impl<T> NoiseFn<f64, 4> for HybridMulti<T>
4-dimensional HybridMulti
noise
impl<T> NoiseFn<f64, 4> for RidgedMulti<T>
4-dimensional RidgedMulti
noise