Skip to content

tayloraswift/swift-noise

Repository files navigation

noise
2.0

Tests Documentation

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.

Requirements

The swift-noise library requires Swift 5.10 or later.

Platform Status
🐧 Linux Tests
🍏 Darwin Tests
🍏 Darwin (iOS) iOS
🍏 Darwin (tvOS) tvOS
🍏 Darwin (visionOS) visionOS
🍏 Darwin (watchOS) watchOS

Check deployment minimums

Building

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