OpenSimplex noise
Appearance
From Wikipedia, the free encyclopedia
N-dimensional gradient noise function
The topic of this article may not meet Wikipedia's general notability guideline . Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.
Find sources: "OpenSimplex noise" – news · newspapers · books · scholar · JSTOR (March 2016) (Learn how and when to remove this message)
Find sources: "OpenSimplex noise" – news · newspapers · books · scholar · JSTOR (March 2016) (Learn how and when to remove this message)
OpenSimplex noise is an n-dimensional (up to 4D) gradient noise function that was developed in order to overcome the patent-related issues surrounding simplex noise, while likewise avoiding the visually-significant directional artifacts characteristic of Perlin noise.
The algorithm shares numerous similarities with simplex noise, but has two primary differences:
- Whereas simplex noise starts with a hypercubic honeycomb and squashes it down the main diagonal in order to form its grid structure,[1] OpenSimplex noise instead swaps the skew and inverse-skew factors and uses a stretched hypercubic honeycomb. The stretched hypercubic honeycomb becomes a simplectic honeycomb after subdivision.[2] This means that 2D Simplex and 2D OpenSimplex both use different orientations of the triangular tiling, but whereas 3D Simplex uses the tetragonal disphenoid honeycomb, 3D OpenSimplex uses the tetrahedral-octahedral honeycomb.[2]
- OpenSimplex noise uses a larger kernel size than simplex noise. The result is a smoother appearance at the cost of performance, as additional vertices need to be determined and factored into each evaluation.[2]
OpenSimplex has a variant called "SuperSimplex" (or OpenSimplex2S), which is visually smoother. "OpenSimplex2F" is identical to the original SuperSimplex.
See also
[edit ]References
[edit ]External links
[edit ]- Blog post introducing OpenSimplex noise
- Author's current implementation (OpenSimplex2)
- Android library
- C implementation
- GPU implementation in OpenCL
- Heavily-optimized implementation in C#
- Noise library for the Rust programming language providing OpenSimplex noise – does not hard code gradient initial values
- Python implementation
Stub icon
This graphics software–related article is a stub. You can help Wikipedia by expanding it.