Trait noise::NoiseFn

source ·
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§

source

fn get(&self, point: [T; DIM]) -> f64

Implementations on Foreign Types§

source§

impl<'a, T, M, const DIM: usize> NoiseFn<T, DIM> for &'a M
where M: NoiseFn<T, DIM> + ?Sized,

source§

fn get(&self, point: [T; DIM]) -> f64

source§

impl<T, M, const DIM: usize> NoiseFn<T, DIM> for Box<M>
where M: NoiseFn<T, DIM> + ?Sized,

source§

fn get(&self, point: [T; DIM]) -> f64

Implementors§

source§

impl NoiseFn<f64, 1> for Perlin

1-dimensional perlin noise

source§

impl NoiseFn<f64, 2> for Checkerboard

source§

impl NoiseFn<f64, 2> for Cylinders

source§

impl NoiseFn<f64, 2> for OpenSimplex

2-dimensional OpenSimplex Noise

This is a slower but higher quality form of gradient noise than Perlin 2D.

source§

impl NoiseFn<f64, 2> for Perlin

2-dimensional perlin noise

source§

impl NoiseFn<f64, 2> for PerlinSurflet

2-dimensional perlin noise

source§

impl NoiseFn<f64, 2> for Simplex

2-dimensional Simplex noise

source§

impl NoiseFn<f64, 2> for SuperSimplex

2-dimensional Super Simplex noise

source§

impl NoiseFn<f64, 2> for Value

2-dimensional value noise

source§

impl NoiseFn<f64, 2> for Worley

source§

impl NoiseFn<f64, 3> for Checkerboard

source§

impl NoiseFn<f64, 3> for Cylinders

source§

impl NoiseFn<f64, 3> for OpenSimplex

3-dimensional OpenSimplex Noise

This is a slower but higher quality form of gradient noise than Perlin 3D.

source§

impl NoiseFn<f64, 3> for Perlin

3-dimensional perlin noise

source§

impl NoiseFn<f64, 3> for PerlinSurflet

3-dimensional perlin noise

source§

impl NoiseFn<f64, 3> for Simplex

3-dimensional Simplex noise

source§

impl NoiseFn<f64, 3> for SuperSimplex

3-dimensional Super Simplex noise

source§

impl NoiseFn<f64, 3> for Value

3-dimensional value noise

source§

impl NoiseFn<f64, 3> for Worley

source§

impl NoiseFn<f64, 4> for Checkerboard

source§

impl NoiseFn<f64, 4> for Cylinders

source§

impl NoiseFn<f64, 4> for OpenSimplex

4-dimensional OpenSimplex Noise

This is a slower but higher quality form of gradient noise than Perlin 4D.

source§

impl NoiseFn<f64, 4> for Perlin

4-dimensional perlin noise

source§

impl NoiseFn<f64, 4> for PerlinSurflet

4-dimensional perlin noise

source§

impl NoiseFn<f64, 4> for Simplex

4-dimensional Simplex noise

source§

impl NoiseFn<f64, 4> for Value

4-dimensional value noise

source§

impl NoiseFn<f64, 4> for Worley

source§

impl<F, const DIM: usize> NoiseFn<f64, DIM> for NoiseFnWrapper<F, DIM>
where F: Fn([f64; DIM]) -> f64,

source§

impl<Source> NoiseFn<f64, 2> for RotatePoint<Source>
where Source: NoiseFn<f64, 2>,

source§

impl<Source> NoiseFn<f64, 2> for ScalePoint<Source>
where Source: NoiseFn<f64, 2>,

source§

impl<Source> NoiseFn<f64, 2> for TranslatePoint<Source>
where Source: NoiseFn<f64, 2>,

source§

impl<Source> NoiseFn<f64, 3> for RotatePoint<Source>
where Source: NoiseFn<f64, 3>,

source§

impl<Source> NoiseFn<f64, 3> for ScalePoint<Source>
where Source: NoiseFn<f64, 3>,

source§

impl<Source> NoiseFn<f64, 3> for TranslatePoint<Source>
where Source: NoiseFn<f64, 3>,

source§

impl<Source> NoiseFn<f64, 4> for RotatePoint<Source>
where Source: NoiseFn<f64, 4>,

source§

impl<Source> NoiseFn<f64, 4> for ScalePoint<Source>
where Source: NoiseFn<f64, 4>,

source§

impl<Source> NoiseFn<f64, 4> for TranslatePoint<Source>
where Source: NoiseFn<f64, 4>,

source§

impl<Source, F> NoiseFn<f64, 2> for Turbulence<Source, F>
where Source: NoiseFn<f64, 2>, F: Default + Seedable + NoiseFn<f64, 2>,

source§

impl<Source, F> NoiseFn<f64, 3> for Turbulence<Source, F>
where Source: NoiseFn<f64, 3>, F: Default + Seedable + NoiseFn<f64, 3>,

source§

impl<Source, F> NoiseFn<f64, 4> for Turbulence<Source, F>
where Source: NoiseFn<f64, 4>, F: Default + Seedable + NoiseFn<f64, 4>,

source§

impl<Source, XDisplace, YDisplace, ZDisplace, UDisplace> NoiseFn<f64, 2> for Displace<Source, XDisplace, YDisplace, ZDisplace, UDisplace>
where Source: NoiseFn<f64, 2>, XDisplace: NoiseFn<f64, 2>, YDisplace: NoiseFn<f64, 2>,

source§

impl<Source, XDisplace, YDisplace, ZDisplace, UDisplace> NoiseFn<f64, 3> for Displace<Source, XDisplace, YDisplace, ZDisplace, UDisplace>
where Source: NoiseFn<f64, 3>, XDisplace: NoiseFn<f64, 3>, YDisplace: NoiseFn<f64, 3>, ZDisplace: NoiseFn<f64, 3>,

source§

impl<Source, XDisplace, YDisplace, ZDisplace, UDisplace> NoiseFn<f64, 4> for Displace<Source, XDisplace, YDisplace, ZDisplace, UDisplace>
where Source: NoiseFn<f64, 4>, XDisplace: NoiseFn<f64, 4>, YDisplace: NoiseFn<f64, 4>, ZDisplace: NoiseFn<f64, 4>, UDisplace: NoiseFn<f64, 4>,

source§

impl<Source, const DIM: usize> NoiseFn<f64, DIM> for Cache<Source>
where Source: NoiseFn<f64, DIM>,

source§

impl<T> NoiseFn<f64, 2> for BasicMulti<T>
where T: NoiseFn<f64, 2>,

2-dimensional BasicMulti noise

source§

impl<T> NoiseFn<f64, 2> for Billow<T>
where T: NoiseFn<f64, 2>,

2-dimensional Billow noise

source§

impl<T> NoiseFn<f64, 2> for Fbm<T>
where T: NoiseFn<f64, 2>,

2-dimensional Fbm noise

source§

impl<T> NoiseFn<f64, 2> for HybridMulti<T>
where T: NoiseFn<f64, 2>,

2-dimensional HybridMulti noise

source§

impl<T> NoiseFn<f64, 2> for RidgedMulti<T>
where T: NoiseFn<f64, 2>,

2-dimensional RidgedMulti noise

source§

impl<T> NoiseFn<f64, 3> for BasicMulti<T>
where T: NoiseFn<f64, 3>,

3-dimensional BasicMulti noise

source§

impl<T> NoiseFn<f64, 3> for Billow<T>
where T: NoiseFn<f64, 3>,

3-dimensional Billow noise

source§

impl<T> NoiseFn<f64, 3> for Fbm<T>
where T: NoiseFn<f64, 3>,

3-dimensional Fbm noise

source§

impl<T> NoiseFn<f64, 3> for HybridMulti<T>
where T: NoiseFn<f64, 3>,

3-dimensional HybridMulti noise

source§

impl<T> NoiseFn<f64, 3> for RidgedMulti<T>
where T: NoiseFn<f64, 3>,

3-dimensional RidgedMulti noise

source§

impl<T> NoiseFn<f64, 4> for BasicMulti<T>
where T: NoiseFn<f64, 4>,

4-dimensional BasicMulti noise

source§

impl<T> NoiseFn<f64, 4> for Billow<T>
where T: NoiseFn<f64, 4>,

4-dimensional Billow noise

source§

impl<T> NoiseFn<f64, 4> for Fbm<T>
where T: NoiseFn<f64, 4>,

4-dimensional Fbm noise

source§

impl<T> NoiseFn<f64, 4> for HybridMulti<T>
where T: NoiseFn<f64, 4>,

4-dimensional HybridMulti noise

source§

impl<T> NoiseFn<f64, 4> for RidgedMulti<T>
where T: NoiseFn<f64, 4>,

4-dimensional RidgedMulti noise

source§

impl<T, Source1, Source2, Control, const DIM: usize> NoiseFn<T, DIM> for Blend<T, Source1, Source2, Control, DIM>
where T: Copy, Source1: NoiseFn<T, DIM>, Source2: NoiseFn<T, DIM>, Control: NoiseFn<T, DIM>,

source§

impl<T, Source1, Source2, Control, const DIM: usize> NoiseFn<T, DIM> for Select<T, Source1, Source2, Control, DIM>
where T: Copy, Source1: NoiseFn<T, DIM>, Source2: NoiseFn<T, DIM>, Control: NoiseFn<T, DIM>,

source§

impl<T, Source1, Source2, const DIM: usize> NoiseFn<T, DIM> for Add<T, Source1, Source2, DIM>
where T: Copy, Source1: NoiseFn<T, DIM>, Source2: NoiseFn<T, DIM>,

source§

impl<T, Source1, Source2, const DIM: usize> NoiseFn<T, DIM> for Max<T, Source1, Source2, DIM>
where T: Copy, Source1: NoiseFn<T, DIM>, Source2: NoiseFn<T, DIM>,

source§

impl<T, Source1, Source2, const DIM: usize> NoiseFn<T, DIM> for Min<T, Source1, Source2, DIM>
where T: Copy, Source1: NoiseFn<T, DIM>, Source2: NoiseFn<T, DIM>,

source§

impl<T, Source1, Source2, const DIM: usize> NoiseFn<T, DIM> for Multiply<T, Source1, Source2, DIM>
where T: Copy, Source1: NoiseFn<T, DIM>, Source2: NoiseFn<T, DIM>,

source§

impl<T, Source1, Source2, const DIM: usize> NoiseFn<T, DIM> for Power<T, Source1, Source2, DIM>
where T: Copy, Source1: NoiseFn<T, DIM>, Source2: NoiseFn<T, DIM>,

source§

impl<T, Source, const DIM: usize> NoiseFn<T, DIM> for Abs<T, Source, DIM>
where Source: NoiseFn<T, DIM>,

source§

impl<T, Source, const DIM: usize> NoiseFn<T, DIM> for Clamp<T, Source, DIM>
where Source: NoiseFn<T, DIM>,

source§

impl<T, Source, const DIM: usize> NoiseFn<T, DIM> for Curve<T, Source, DIM>
where Source: NoiseFn<T, DIM>,

source§

impl<T, Source, const DIM: usize> NoiseFn<T, DIM> for Exponent<T, Source, DIM>
where Source: NoiseFn<T, DIM>,

source§

impl<T, Source, const DIM: usize> NoiseFn<T, DIM> for Negate<T, Source, DIM>
where Source: NoiseFn<T, DIM>,

source§

impl<T, Source, const DIM: usize> NoiseFn<T, DIM> for ScaleBias<T, Source, DIM>
where Source: NoiseFn<T, DIM>,

source§

impl<T, Source, const DIM: usize> NoiseFn<T, DIM> for Terrace<T, Source, DIM>
where Source: NoiseFn<T, DIM>,

source§

impl<T: Copy, const N: usize> NoiseFn<T, N> for Constant