Simplex noise is a 1, 2, or 3 dimensional procedural texture function created by Ken Perlin. The code was patented up until January of 2022 and is now free to use. You can find Ken Perlin's Java implementation here:
https://mrl.cs.nyu.edu/~perlin/doc/oscar.html
The folder contains a simple demo for 1d, 2d, and 3d simplex noise.
My benchmark testing shows Simplex noise to be around 2.5x faster than the previous Perlin noise with less directional artifacts.
Instructions:
Copy the necessary arrays and functions into your program. Always initialize with an integer seed value
SEED% before calling any noise functions with:
INIT_SIMPLEX_NOISE SEED%
The three dimensions can be accessed via:
SIMPLEX_NOISE(v0[,v1[,v2]])
where each real value
v0,v1,v2 describes the location in the procedural texture.
You can also access the dimensions explicitly via:
SIMPLEX_NOISE_1D(v0)
SIMPLEX_NOISE_2D(v0,v1)
SIMPLEX_NOISE_3D(v0,v1,v2)