Expand description

Some simple noise functions and traits to allow easy integration with your own.

use noise_fn::{Seedable, NoiseDomain, Octaves, Simplex};
use sized_matrix::Vector;

let seed = 12345;

let octaves = Octaves::<_, 4>::new(Simplex::new(), 0.5, 0.5).seed(seed);

let value2D = octaves.noise(Vector::vector([1.2, -3.5]));
let value3D = octaves.noise(Vector::vector([1.2, -3.5, 2.8]));

To use this, add it as a dependency to your Cargo.toml:

[dependencies]
noise_fn = "^0.2.0"

Re-exports

pub use noise::Noise;
pub use noise::Seedable;
pub use noise::NoiseDomain;
pub use helpers::Config;

Modules

Structs

A noise function which sums two other noise functions.

A noise function returning a constant value.

A noise function which returns a gradient.

Seeded pseudorandom values using a fast non-cryptographic hash function.

A noise function formed by summing several octaves of another noise function.

A noise function which scales both the input and output values.

A simplex noise function loosely based on Stefan Gustavson’s open source implementation.

A noise function formed by summing an array of other noise functions.

Convert random uint values to floating point numbers in the range [0, 1).

Seeded pseudorandom bytes using a permutation table.