You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*Noise-swift* will eventually be a free, native Swift procedural noise generation library. It will be free of Foundation or any other Apple framework. Currently supported:
9
+

10
10
11
-
* Simplex noise (2D)
11
+
**Noise** is a free, pure Swift procedural noise generation library. It is free of Foundation or any other Apple framework, and has no dependencies. All popular types of procedural noise are supported, including three [gradient noises](https://en.wikipedia.org/wiki/Perlin_noise) (often called Perlin or simplex noises), and two [cellular noises](https://en.wikipedia.org/wiki/Worley_noise) (sometimes called Worley or Voronoi noises). *Noise* includes a fractal brownian motion (FBM) noise composition framework, and a [disk point sampler](https://en.wikipedia.org/wiki/Supersampling#Poisson_disc) (often called a Poisson sampler), for generating visually even point distributions in the plane. *Noise* also includes pseudo-random number generation and hashing tools.
12
12
13
-
Simplex noise is an improved version of the classical [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise) algorithm. Noise-swift uses the OpenSimplex procedural noise generation algorithm, which solves many of the quality issues apparent in the 3D version of the proprietary Simplex noise algorithm, as well as sidestepping potential patent threats.
13
+
***Noise*’s entire public API is [documented](wiki).**
14
14
15
-
* SuperSimplex noise (2D)
15
+
## Building
16
16
17
-
SuperSimplex noise is yet another improvement on Simplex noise that results in even noise with fewer artifacts. SuperSimplex noise also runs slightly (~5%) faster than Simplex noise. Many thanks to the Java and [Rust OpenSimplex communities](https://github.com/brendanzab/noise-rs) for their assistance, which was essential for bringing SuperSimplex procedural noise to Swift.
18
-
19
-
* SuperSimplex noise (3D)
20
-
21
-
3D SuperSimplex volumetric noise, suitable for texturing any 3D object without seams or texture unwrapping.
22
-
23
-
* Voronoi noise (2D)
24
-
25
-
Also known as Worley noise, produces a cellular, bulby texture.
26
-
27
-
* Voronoi noise (3D)
28
-
29
-
3 dimensional cell/worley noise.
30
-
31
-
* Poisson sample noise (2D)
32
-
33
-
Two dimensional point noise with a visually uniform distribution, and no clumping.
34
-
35
-
36
-

37
-

38
-

39
-

40
-
41
-
### A note on building
42
-
43
-
Noise-swift does not actually depend on [maxpng](https://github.com/kelvin13/maxpng), my free Swift PNG library; it is only being used to view the output of the noise generator as a PNG. For similar reasons, this repository currently contains a small Cairo interface library, which will probably be spun-off into a library of its own right once Noise-swift matures.
17
+
Build *Noise* with the Swift Package Manager. *Noise* itself has no dependencies, but the tests depend on [MaxPNG](https://github.com/kelvin13/maxpng), my free Swift PNG library, to view the generated noise.
0 commit comments