pub struct BlueNoiseApprox { /* private fields */ }Expand description
Blue noise approximation using multiple octaves.
Hybrid approach that combines InterleavedGradientNoise with
SpatialHash to approximate true blue noise characteristics.
Better quality than either method alone, without the memory cost
of real blue noise tables.
Implementations§
Trait Implementations§
Source§impl Clone for BlueNoiseApprox
impl Clone for BlueNoiseApprox
Source§fn clone(&self) -> BlueNoiseApprox
fn clone(&self) -> BlueNoiseApprox
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BlueNoiseApprox
impl Debug for BlueNoiseApprox
Source§impl Hash for BlueNoiseApprox
impl Hash for BlueNoiseApprox
Source§impl PartialEq for BlueNoiseApprox
impl PartialEq for BlueNoiseApprox
Source§impl SpatialRng for BlueNoiseApprox
impl SpatialRng for BlueNoiseApprox
Source§fn compute(&self, x: u32, y: u32) -> f32
fn compute(&self, x: u32, y: u32) -> f32
Compute a deterministic value for given 2D coordinates.
Returns a value in range [-1, 1].
Source§fn dither_2d<T>(
&self,
value: T,
min: T,
one: T,
dither_amplitude: T,
x: u32,
y: u32,
) -> Twhere
T: DitherFloat,
Self: Sized,
fn dither_2d<T>(
&self,
value: T,
min: T,
one: T,
dither_amplitude: T,
x: u32,
y: u32,
) -> Twhere
T: DitherFloat,
Self: Sized,
Dither a single value using 2D coordinates.
Source§fn simple_dither_2d<T>(&self, value: T, one: T, x: u32, y: u32) -> T
fn simple_dither_2d<T>(&self, value: T, one: T, x: u32, y: u32) -> T
Simple dither for a single value using 2D coordinates.
Source§fn dither_slice_2d<T>(
&self,
values: &mut [T],
width: usize,
min: T,
one: T,
dither_amplitude: T,
)
fn dither_slice_2d<T>( &self, values: &mut [T], width: usize, min: T, one: T, dither_amplitude: T, )
Dither a 2D image stored as a flat slice (parallel version).
Source§fn simple_dither_slice_2d<T>(&self, values: &mut [T], width: usize, one: T)
fn simple_dither_slice_2d<T>(&self, values: &mut [T], width: usize, one: T)
Simple dither for a 2D image stored as a flat slice (parallel version).
Source§fn dither_float_2d<Src, Dest>(&self, value: Src, x: u32, y: u32) -> Dest
fn dither_float_2d<Src, Dest>(&self, value: Src, x: u32, y: u32) -> Dest
Dither a float value when converting to lower precision using 2D
coordinates.
Source§fn dither_float_slice_2d<Src, Dest>(
&self,
values: &[Src],
width: usize,
) -> Vec<Dest>where
Src: DitherFloatConversion<Dest> + DitherFloat + CastableFrom<f64> + Copy + Send + Sync,
Dest: Send,
Self: Sized,
fn dither_float_slice_2d<Src, Dest>(
&self,
values: &[Src],
width: usize,
) -> Vec<Dest>where
Src: DitherFloatConversion<Dest> + DitherFloat + CastableFrom<f64> + Copy + Send + Sync,
Dest: Send,
Self: Sized,
Dither float values in a 2D image slice when converting to lower
precision (parallel version).
impl Copy for BlueNoiseApprox
impl Eq for BlueNoiseApprox
impl StructuralPartialEq for BlueNoiseApprox
Auto Trait Implementations§
impl Freeze for BlueNoiseApprox
impl RefUnwindSafe for BlueNoiseApprox
impl Send for BlueNoiseApprox
impl Sync for BlueNoiseApprox
impl Unpin for BlueNoiseApprox
impl UnwindSafe for BlueNoiseApprox
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
Source§impl<T, U> CastableInto<U> for Twhere
U: CastableFrom<T>,
impl<T, U> CastableInto<U> for Twhere
U: CastableFrom<T>,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DowncastableFrom<T> for T
impl<T> DowncastableFrom<T> for T
Source§fn downcast_from(value: T) -> T
fn downcast_from(value: T) -> T
Truncate the current UnsignedInt to a possibly smaller size
Source§impl<T, U> DowncastableInto<U> for Twhere
U: DowncastableFrom<T>,
impl<T, U> DowncastableInto<U> for Twhere
U: DowncastableFrom<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> UpcastableFrom<T> for T
impl<T> UpcastableFrom<T> for T
Source§fn upcast_from(value: T) -> T
fn upcast_from(value: T) -> T
Extend the current UnsignedInt to a possibly bigger size.