Crate noise_fn

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

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.