swift-noise
is a free, pure Swift procedural noise generation library. The library product has no dependencies and does not import Foundation or any system frameworks.
All popular types of procedural noise are supported, including three gradient noises (often called Perlin or simplex noises), and two cellular noises (sometimes called Worley or Voronoi noises).
swift-noise
includes a fractal brownian motion (FBM) noise composition framework, and a disk point sampler (often called a Poisson sampler), for generating visually even point distributions in the plane. swift-noise
also includes pseudo-random number generation and hashing tools.
swift-noise
’s entire public API is documented.
The swift-noise library requires Swift 5.10 or later.
Platform | Status |
---|---|
🐧 Linux | |
🍏 Darwin | |
🍏 Darwin (iOS) | |
🍏 Darwin (tvOS) | |
🍏 Darwin (visionOS) | |
🍏 Darwin (watchOS) |
Build Noise with the Swift Package Manager. Noise itself has no dependencies, but the tests use
The package includes an executable, generate-noise
, that depends on swift-png
.
It generates noise locally for visual inspection.
To regenerate example images, run the following command in the terminal:
swift run -c release generate-noise