pub trait OpenSimplexNoise: Sealed + Noise {
// Provided methods
fn improve2_x(self) -> Improve2X<Self>
where Self: Sized { ... }
fn improve3_xy(self) -> Improve3Xy<Self>
where Self: Sized { ... }
fn improve3_xz(self) -> Improve3Xz<Self>
where Self: Sized { ... }
fn improve4_xyz(self) -> Improve4Xyz<Self>
where Self: Sized { ... }
fn improve4_xyz_xy(self) -> Improve4XyzXy<Self>
where Self: Sized { ... }
fn improve4_xyz_xz(self) -> Improve4XyzXz<Self>
where Self: Sized { ... }
fn improve4_xy_zw(self) -> Improve4XyZw<Self>
where Self: Sized { ... }
}
Expand description
Provides utility methods for OpenSimplex
noise types.
Provided Methods§
Sourcefn improve2_x(self) -> Improve2X<Self>where
Self: Sized,
fn improve2_x(self) -> Improve2X<Self>where
Self: Sized,
Improves 2D orientation with Y pointing down the main diagonal.
This might be better for a 2D sandbox style where Y is vertical. Probably slightly less optimal for heightmaps or continent maps, unless your map is centered around an equator. It’s a subtle difference, but the option is here to make it an easy choice.
Sourcefn improve3_xy(self) -> Improve3Xy<Self>where
Self: Sized,
fn improve3_xy(self) -> Improve3Xy<Self>where
Self: Sized,
Improves 3D orientation for better visual isotropy in (X, Y).
Recommended for 3D terrain and time-varied animations. The Z coordinate should always be the “different” coordinate in whatever your use case is.
Sourcefn improve3_xz(self) -> Improve3Xz<Self>where
Self: Sized,
fn improve3_xz(self) -> Improve3Xz<Self>where
Self: Sized,
Improves 3D orientation for better visual isotropy in (X, Z).
Recommended for 3D terrain and time-varied animations. The Y coordinate should always be the “different” coordinate in whatever your use case is.
Sourcefn improve4_xyz(self) -> Improve4Xyz<Self>where
Self: Sized,
fn improve4_xyz(self) -> Improve4Xyz<Self>where
Self: Sized,
Improves 4D orientation so XYZ is oriented like the default 3D noise and W for an extra degree of freedom. W repeats eventually.
Recommended for time-varied animations which texture a 3D object with W as time where there isn’t a clear distinction between horizontal and vertical.
Sourcefn improve4_xyz_xy(self) -> Improve4XyzXy<Self>where
Self: Sized,
fn improve4_xyz_xy(self) -> Improve4XyzXy<Self>where
Self: Sized,
Improves 4D orientation so XYZ is oriented like the 3D improve_xy
noise
and W for an extra degree of freedom. W repeats eventually.
Recommended for time-varied animations which texture a 3D object with W as time in a space where Z is vertical.
Sourcefn improve4_xyz_xz(self) -> Improve4XyzXz<Self>where
Self: Sized,
fn improve4_xyz_xz(self) -> Improve4XyzXz<Self>where
Self: Sized,
Improves 4D orientation so XYZ is oriented like the 3D improve_xz
noise
and W for an extra degree of freedom. W repeats eventually.
Recommended for time-varied animations which texture a 3D object with W as time in a space where Y is vertical.
Sourcefn improve4_xy_zw(self) -> Improve4XyZw<Self>where
Self: Sized,
fn improve4_xy_zw(self) -> Improve4XyZw<Self>where
Self: Sized,
Improves 4D orientation so XY and ZW form orthogonal triangular-based planes.
Recommended for 3D terrain, where X and Y or (Z and W) are horizontal.
Recommended for the noise(x, y, sin(time), cos(time)) trick.