Trait noise::NoiseModule
[−]
[src]
pub trait NoiseModule<T> { type Output; fn get(&self, point: T) -> Self::Output; }
Base trait for noise modules.
A noise module 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 module 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 module in various ways.
- Combining the output values from two noise modules in various ways.
Associated Types
type Output
Required Methods
Implementors
impl<Source1, Source2, T, U> NoiseModule<T> for Add<Source1, Source2> where
Source1: NoiseModule<T, Output = U>,
Source2: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source1, Source2, T, U> NoiseModule<T> for Max<Source1, Source2> where
Source1: NoiseModule<T, Output = U>,
Source2: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source1, Source2, T, U> NoiseModule<T> for Min<Source1, Source2> where
Source1: NoiseModule<T, Output = U>,
Source2: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source1, Source2, T, U> NoiseModule<T> for Multiply<Source1, Source2> where
Source1: NoiseModule<T, Output = U>,
Source2: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source1, Source2, T, U> NoiseModule<T> for Power<Source1, Source2> where
Source1: NoiseModule<T, Output = U>,
Source2: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<T, U> NoiseModule<U> for Constant<T> where
T: Float,
U: Copy,impl<T: Float> NoiseModule<Point2<T>> for Checkerboard
impl<T: Float> NoiseModule<Point3<T>> for Checkerboard
impl<T: Float> NoiseModule<Point4<T>> for Checkerboard
impl<T: Float> NoiseModule<Point2<T>> for Cylinders<T>
impl<T: Float> NoiseModule<Point3<T>> for Cylinders<T>
impl<T: Float> NoiseModule<Point4<T>> for Cylinders<T>
impl<T: Float> NoiseModule<Point2<T>> for BasicMulti<T>
impl<T: Float> NoiseModule<Point3<T>> for BasicMulti<T>
impl<T: Float> NoiseModule<Point4<T>> for BasicMulti<T>
impl<T: Float> NoiseModule<Point2<T>> for Billow<T>
impl<T: Float> NoiseModule<Point3<T>> for Billow<T>
impl<T: Float> NoiseModule<Point4<T>> for Billow<T>
impl<T: Float> NoiseModule<Point2<T>> for Fbm<T>
impl<T: Float> NoiseModule<Point3<T>> for Fbm<T>
impl<T: Float> NoiseModule<Point4<T>> for Fbm<T>
impl<T: Float> NoiseModule<Point2<T>> for HybridMulti<T>
impl<T: Float> NoiseModule<Point3<T>> for HybridMulti<T>
impl<T: Float> NoiseModule<Point4<T>> for HybridMulti<T>
impl<T: Float> NoiseModule<Point2<T>> for RidgedMulti<T>
impl<T: Float> NoiseModule<Point3<T>> for RidgedMulti<T>
impl<T: Float> NoiseModule<Point4<T>> for RidgedMulti<T>
impl<T: Float> NoiseModule<Point2<T>> for Perlin
impl<T: Float> NoiseModule<Point3<T>> for Perlin
impl<T: Float> NoiseModule<Point4<T>> for Perlin
impl<T: Float> NoiseModule<Point2<T>> for Worley<T>
impl<T: Float> NoiseModule<Point3<T>> for Worley<T>
impl<T: Float> NoiseModule<Point4<T>> for Worley<T>
impl<Source, T, U> NoiseModule<T> for Abs<Source> where
Source: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source, T, U> NoiseModule<T> for Clamp<Source, U> where
Source: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source, T, U> NoiseModule<T> for Curve<Source, U> where
Source: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source, T, U> NoiseModule<T> for Exponent<Source, U> where
Source: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source, T, U> NoiseModule<T> for Invert<Source> where
Source: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source, T, U> NoiseModule<T> for ScaleBias<Source, U> where
Source: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source, T, U> NoiseModule<T> for Terrace<Source, U> where
Source: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source1, Source2, Control, T, U> NoiseModule<T> for Blend<Source1, Source2, Control> where
Source1: NoiseModule<T, Output = U>,
Source2: NoiseModule<T, Output = U>,
Control: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source1, Source2, Control, T, U> NoiseModule<T> for Select<Source1, Source2, Control, U> where
Source1: NoiseModule<T, Output = U>,
Source2: NoiseModule<T, Output = U>,
Control: NoiseModule<T, Output = U>,
T: Copy,
U: Float,impl<Source, T> NoiseModule<Point2<T>> for Cache<Source, T> where
Source: NoiseModule<Point2<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point3<T>> for Cache<Source, T> where
Source: NoiseModule<Point3<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point4<T>> for Cache<Source, T> where
Source: NoiseModule<Point4<T>, Output = T>,
T: Float,impl<Source, XDisplace, YDisplace, ZDisplace, UDisplace, T> NoiseModule<Point2<T>> for Displace<Source, XDisplace, YDisplace, ZDisplace, UDisplace> where
Source: NoiseModule<Point2<T>, Output = T>,
XDisplace: NoiseModule<Point2<T>, Output = T>,
YDisplace: NoiseModule<Point2<T>, Output = T>,
T: Float,impl<Source, XDisplace, YDisplace, ZDisplace, UDisplace, T> NoiseModule<Point3<T>> for Displace<Source, XDisplace, YDisplace, ZDisplace, UDisplace> where
Source: NoiseModule<Point3<T>, Output = T>,
XDisplace: NoiseModule<Point3<T>, Output = T>,
YDisplace: NoiseModule<Point3<T>, Output = T>,
ZDisplace: NoiseModule<Point3<T>, Output = T>,
T: Float,impl<Source, XDisplace, YDisplace, ZDisplace, UDisplace, T> NoiseModule<Point4<T>> for Displace<Source, XDisplace, YDisplace, ZDisplace, UDisplace> where
Source: NoiseModule<Point4<T>, Output = T>,
XDisplace: NoiseModule<Point4<T>, Output = T>,
YDisplace: NoiseModule<Point4<T>, Output = T>,
ZDisplace: NoiseModule<Point4<T>, Output = T>,
UDisplace: NoiseModule<Point4<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point2<T>> for RotatePoint<Source, T> where
Source: NoiseModule<Point2<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point3<T>> for RotatePoint<Source, T> where
Source: NoiseModule<Point3<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point4<T>> for RotatePoint<Source, T> where
Source: NoiseModule<Point4<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point2<T>> for ScalePoint<Source, T> where
Source: NoiseModule<Point2<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point3<T>> for ScalePoint<Source, T> where
Source: NoiseModule<Point3<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point4<T>> for ScalePoint<Source, T> where
Source: NoiseModule<Point4<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point2<T>> for TranslatePoint<Source, T> where
Source: NoiseModule<Point2<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point3<T>> for TranslatePoint<Source, T> where
Source: NoiseModule<Point3<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point4<T>> for TranslatePoint<Source, T> where
Source: NoiseModule<Point4<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point2<T>> for Turbulence<Source, T> where
Source: NoiseModule<Point2<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point3<T>> for Turbulence<Source, T> where
Source: NoiseModule<Point3<T>, Output = T>,
T: Float,impl<Source, T> NoiseModule<Point4<T>> for Turbulence<Source, T> where
Source: NoiseModule<Point4<T>, Output = T>,
T: Float,impl<'a, T, M: NoiseModule<T>> NoiseModule<T> for &'a M