1. 16
  1. 6

    Simplex noise is patented (because apparently you can patent math??). Completely uninteresting to me. I’m betting this is a not-insignificant reason for why Simplex noise didn’t take off.

    1. 5

      According to Wikipedia the patent will expire in about six months, so I’d say depending on how fast you plan to code, now’s a pretty safe time to get interested in it.

      1. 3

        Probably not, there are other implementations such as OpenSimplex.

        1. 5

          OpenSimplex is not just an implementation of Simplex noise, it is a new algorithm that produces visually different results, with different performance characteristics, especially in 3D where the simplex patent is in force. The original OpenSimplex algorithm is more expensive to compute in 3D than Simplex, with the benefit of smoother output. The output was further away from the desired range of [-1,1] than wanted, and the original algorithm was difficult to implement efficiently as a GPU shader. There were directional artifacts fixed in later designs. The original OpenSimplex was not fully competitive with Simplex.

          Today we can use OpenSimplex2 from the same author, with two variants: OpenSimplex2F is as fast as Simplex, and OpenSimplex2S is slower (same speed as OpenSimplex) but smoother. Better output range close to [-1,1], faster shader code. Plus the directional artifacts are fixed–the new stuff is lattice symmetric: “symmetry with the lattice (without letting neighboring points’ vectors line up with each other) can result in a more isotropic (non-axis-aligned) and more uniform appearance, especially when the noise is oriented in different ways.” https://github.com/KdotJPG/OpenSimplex2

      2. 3

        Worth it just for the hypnotic animations.

        1. 2

          Does anyone remember The good-looking textured light-sourced bouncy fun smart and stretchy page?

          Ken Perlin’s page is still up, and still as full of Java applets as it was 15 years ago.

          1. 1

            Pretty interesting. For my random doom map stuff, I used a public domain simplex implementation but I haven’t managed to generate terrain I’m pleased enough with yet. Looking at the Perlin artefacts in this article, I wonder if they could actually be desirable in some applications, including random terrain generation.