24

I'm having difficulty understanding a lot of the highly mathematical papers available online describing how Perlin noise generation works, and I'm wondering if anyone could point me in the direction of a more accessible introduction. I am looking to use Perlin noise in an application to create 2D textures.

Johnny
  • 327
  • 2
  • 3
  • 4

2 Answers2

9

It's worth noting that the original Perlin noise algorithm has been deprecated by the author. Ken Perlin designed a new version: Simplex Noise

There is a good explanation of Simplex Noise with Java implementation here.

Community
  • 1
  • 1
i_grok
  • 638
  • 7
  • 9
  • 3
    please note that simplex noise is patented! So even if its better, you might not want to use it! – Piranha Jan 17 '15 at 11:58
  • It is only patented for texture generation in 3D and beyond which makes it suitable for terrain generation among other things. – Entalpi Apr 26 '17 at 07:34
4

Look at the book Texturing and Modeling, A Procedural Approach, starting in page 67 there's a nice description and source code for gradient noises, perlin noise is just another gradient noise.

There's also a implementation in GPU Gems 2.

Perlin noise itself doesn't use much advanced math, you only need to know about linear interpolation, lattices and random values.

Dr. Snoopy
  • 55,122
  • 7
  • 121
  • 140