Search code examples
3dnoiseperlin-noiseprocedural

Fastest Perlin-Like 3D noise algorithm?


It's been well over 20 years since Ken Perlin first invented his noise. Has anybody managed to make a faster kind of 3D noise generator with properties close to Perlin's (procedural, natural-looking grouping, reduced banding, regular feature size, etc)?

I'm trying to build a procedural world generator but currently Perlin just isn't cutting it. I admit my implementation isn't the best it could be right now, but if I'm about to rewrite it anyway I wondered if there was a better algorithm available.


Solution

  • You want Simplex Noise.

    • less computationally expensive
    • not based on a square grid, so no obvious directional artifacts
    • scales better to higher dimensions: O(N^2) vs Classic Perlin's O(2^N) for N dimensions

    There's a good explanation here. Apparently Ken Perlin's example implementation is not the most easy to understand code.