pub struct NoiseFn<F, const WITH_SEED: bool>(pub F);
Expand description
Wraps a function to make it implement Sample
.
The function is expected to take one parameter for the point and optionally a seed parameter.
With a seed parameter it can be used for fractals:
use noise_functions::{ Noise, NoiseFn, Sample2, OpenSimplex2s };
let warped = NoiseFn(|point: [f32; 2], seed: i32| {
let warp_x = OpenSimplex2s.seed(seed + 100).sample2(point);
let warp_y = OpenSimplex2s.seed(seed + 200).sample2(point);
let warped = [point[0] + warp_x, point[1] + warp_y];
OpenSimplex2s.sample2(warped)
});
let warped_fbm = warped.fbm(3, 0.5, 2.0);
let value = warped_fbm.sample2([1.0, 2.0]);
Tuple Fields§
§0: F
Trait Implementations§
Source§impl<F, const WITH_SEED: bool> Noise for NoiseFn<F, WITH_SEED>
impl<F, const WITH_SEED: bool> Noise for NoiseFn<F, WITH_SEED>
Source§fn seed(self, seed: i32) -> Seeded<Self>where
Self: Sized,
fn seed(self, seed: i32) -> Seeded<Self>where
Self: Sized,
Sets a seed to be sampled with. Read more
Source§fn frequency(self, frequency: f32) -> Frequency<Self>where
Self: Sized,
fn frequency(self, frequency: f32) -> Frequency<Self>where
Self: Sized,
Modifies a noise with a frequency multiplier. Read more
Source§fn ridged(self) -> Ridged<Self>where
Self: Sized,
fn ridged(self) -> Ridged<Self>where
Self: Sized,
Modifies a noise to create a peak at 0. Read more
Source§fn triangle_wave(self, frequency: f32) -> TriangleWave<Self>where
Self: Sized,
fn triangle_wave(self, frequency: f32) -> TriangleWave<Self>where
Self: Sized,
Applies a triangle wave to the output of a base noise function. Read more
Auto Trait Implementations§
impl<F, const WITH_SEED: bool> Freeze for NoiseFn<F, WITH_SEED>where
F: Freeze,
impl<F, const WITH_SEED: bool> RefUnwindSafe for NoiseFn<F, WITH_SEED>where
F: RefUnwindSafe,
impl<F, const WITH_SEED: bool> Send for NoiseFn<F, WITH_SEED>where
F: Send,
impl<F, const WITH_SEED: bool> Sync for NoiseFn<F, WITH_SEED>where
F: Sync,
impl<F, const WITH_SEED: bool> Unpin for NoiseFn<F, WITH_SEED>where
F: Unpin,
impl<F, const WITH_SEED: bool> UnwindSafe for NoiseFn<F, WITH_SEED>where
F: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more