# Crate noise [−] [src]

A procedural noise generation library for Rust.

# Example

```use noise::{NoiseFn, Perlin};

let perlin = Perlin::new();
let val = perlin.get([42.4, 37.7, 2.8]);```

## Structs

 Abs Noise function that outputs the absolute value of the output value from the source function. Add Noise function that outputs the sum of the two output values from two source functions. BasicMulti Noise function that outputs heterogenous Multifractal noise. Billow Noise function that outputs "billowy" noise. Blend Noise function that outputs a weighted blend of the output values from two source functions given the output value supplied by a control function. Cache Noise function that caches the last output value generated by the source function. Checkerboard Noise function that outputs a checkerboard pattern. Clamp Noise function that clamps the output value from the source function to a range of values. Constant Noise function that outputs a constant value. Curve Noise function that maps the output value from the source function onto an arbitrary function curve. Cylinders Noise function that outputs concentric cylinders. Displace Noise function that uses multiple source functions to displace each coordinate of the input value before returning the output value from the `source` function. Exponent Noise function that maps the output value from the source function onto an exponential curve. Fbm Noise function that outputs fBm (fractal Brownian motion) noise. HybridMulti Noise function that outputs hybrid Multifractal noise. Invert Noise function that inverts the output value from the source function. Max Noise function that outputs the larger of the two output values from two source functions. Min Noise function that outputs the smaller of the two output values from two source functions. Multiply Noise function that outputs the product of the two output values from two source functions. OpenSimplex Noise function that outputs 2/3/4-dimensional Open Simplex noise. Perlin Noise function that outputs 2/3/4-dimensional Perlin noise. Power Noise function that raises the output value from the first source function to the power of the output value of the second source function. RidgedMulti Noise function that outputs ridged-multifractal noise. RotatePoint Noise function that rotates the input value around the origin before returning the output value from the source function. ScaleBias Noise function that applies a scaling factor and a bias to the output value from the source function. ScalePoint Noise function that scales the coordinates of the input value before returning the output value from the source function. Select Noise function that outputs the value selected from one of two source functions chosen by the output value from a control function. SuperSimplex Noise function that outputs 2/3-dimensional Super Simplex noise. Terrace Noise function that maps the output value from the source function onto a terrace-forming curve. TranslatePoint Noise function that moves the coordinates of the input value before returning the output value from the source function. Turbulence Noise function that randomly displaces the input value before returning the output value from the source function. Value Noise function that outputs 2/3/4-dimensional Value noise. Worley Noise function that outputs Worley noise.

## Enums

 RangeFunction Set of distance functions that can be used in the Worley noise function.

## Traits

 MultiFractal Trait for `MultiFractal` functions NoiseFn Base trait for noise functions. Seedable Trait for functions that require a seed before generating their values

## Type Definitions

 Point2 A 2-dimensional point. This is a fixed sized array, so should be compatible with most linear algebra libraries. Point3 A 3-dimensional point. This is a fixed sized array, so should be compatible with most linear algebra libraries. Point4 A 4-dimensional point. This is a fixed sized array, so should be compatible with most linear algebra libraries.