Successors to OpenSimplex Noise, plus updated OpenSimplex. Includes 2D, 3D, and 4D noise.
Legacy OpenSimplex used a different grid layout scheme to Simplex. It worked fine for common applications, but didn't produce as consistent contrast as the original Simplex point layout in 3D/4D. It also broke down completely when extended to 5D+, producing diagonal bands of visibly-varying value ranges.
Instead of vertex rearrangement, OpenSimplex2 focuses on congruent layouts constructed and traversed using disparate methods where need was concluded.
Gradient vector tables were also revisited to improve probability symmetry in both the old and new noise.
abs(x))._old/{language}/legacy._old directory.Note: area-generators have been moved to their original repository.
Install a Rust toolchain if needed.
Build debug or release artifacts with:
cargo build
# or
cargo build --release
Library files will be in ./target/{debug,release}/. Copy header from ./rust/OpenSimplex2.h.
README.md. (Mar 26, 2022)OpenSimplex2F to just OpenSimplex2 in file/class names. (Jan 16, 2022)README.md with consolidated renders. (Feb 10, 2020)






This is free and unencumbered software. The majority of files are released under CC0. Where marked, files in certain directories fall under UNLICENSE instead, as they were based off of UNLICENSE code other than mine (e.g. Pull Requests, legacy OpenSimplex with DigitalShadow's lookup tables). To the best of my non-lawyer knowledge, no patent claims cover anything implemented here (though also nothing here is legal advice). Please use this software to make cool things, rather than to make patents! Enjoy.
Java
39.4%
C#
32.5%
Rust
12.7%
C++
8.2%
C
5.4%
Successors to OpenSimplex Noise, plus updated OpenSimplex. Includes 2D, 3D, and 4D noise.
Legacy OpenSimplex used a different grid layout scheme to Simplex. It worked fine for common applications, but didn't produce as consistent contrast as the original Simplex point layout in 3D/4D. It also broke down completely when extended to 5D+, producing diagonal bands of visibly-varying value ranges.
Instead of vertex rearrangement, OpenSimplex2 focuses on congruent layouts constructed and traversed using disparate methods where need was concluded.
Gradient vector tables were also revisited to improve probability symmetry in both the old and new noise.
abs(x))._old/{language}/legacy._old directory.Note: area-generators have been moved to their original repository.
Install a Rust toolchain if needed.
Build debug or release artifacts with:
cargo build
# or
cargo build --release
Library files will be in ./target/{debug,release}/. Copy header from ./rust/OpenSimplex2.h.
README.md. (Mar 26, 2022)OpenSimplex2F to just OpenSimplex2 in file/class names. (Jan 16, 2022)README.md with consolidated renders. (Feb 10, 2020)






This is free and unencumbered software. The majority of files are released under CC0. Where marked, files in certain directories fall under UNLICENSE instead, as they were based off of UNLICENSE code other than mine (e.g. Pull Requests, legacy OpenSimplex with DigitalShadow's lookup tables). To the best of my non-lawyer knowledge, no patent claims cover anything implemented here (though also nothing here is legal advice). Please use this software to make cool things, rather than to make patents! Enjoy.
Java
39.4%
C#
32.5%
Rust
12.7%
C++
8.2%
C
5.4%