Skip to content
Kelvin edited this page Jul 9, 2017 · 12 revisions
Module

Noise

Generate and combine commonly used procedural noise patterns and distributions.

This wiki documents features present in Noise 1.0.0. Many new features are currently being added to master for Noise 2.0.0, and several types and methods will be deprecated or removed for 2.0.0, including SimplexNoise2D.


Symbols

Protocols

protocol Noise

A procedural noise generator.

Structures

A type of two-dimensional gradient noise (sometimes called Perlin noise), suitable for texturing two-dimensional planes. Simplex noise is supported in the library mainly because it has historical significance; it has since been superseded by the less popular, but more powerful and more efficient super-simplex noise.

A type of two-dimensional gradient noise (sometimes called Perlin noise), suitable for texturing two-dimensional planes. Super-simplex noise is an improved version of simplex noise which runs faster and scales better to higher dimensions.

A type of three-dimensional gradient noise (sometimes called Perlin noise), suitable for texturing arbitrary three-dimensional objects.

struct CellNoise2D

A type of two-dimensional cellular noise (sometimes called Worley noise, or Voronoi noise), suitable for texturing two-dimensional planes.

struct CellNoise3D

A type of three-dimensional cellular noise (sometimes called Worley noise, or Voronoi noise), suitable for texturing arbitrary three-dimensional objects.

struct DiskSampler2D

A point sampler capable of producing uniform and roughly-evenly spaced pseudo-random point distributions in the plane. Disk sampling is sometimes referred to as Poisson sampling.

struct FBM

A generic fractal brownian motion noise generator, capable of overlaying multiple instances of procedural noise at increasing frequencies.

An 8-bit permutation table useful for generating pseudo-random hash values.

A cryptographically unsecure 128-bit Xorshift pseudo-random number generator.