Trait OpenSimplexNoise

Source
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§

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Implementors§