Generating "True" 2D Perlin Noise

Informally the doubling/halving scheme…it’s self similar at all zoom levels.

@Sabomoth -

Stefan Gustavson’s implementation does NOT require a seed. I’m guessing the seed that is in Richard Stengle’s reply must be of his own creation, part of the class “SimplexNoise_Octave” which he wrote.

I imported Stefan Gustavson’s improved implementation (referenced in the article we linked earlier) and use that directly. I can’t really comment on Stengle’s code because I’ve never used it. There are various steps he could be “helpfully” handling in that code, but it is hard to say exactly what without more code-reading than I want to take time to do.

I think the safest thing is to call Gustavson’s static SimplexNoise.noise() directly. You can call it from within two nested loops (height and width) and fill the data array directly, yourself, from the results of the calls. If you wish to combine octaves, then a third nested loop would also be used, and the results summed via weighting as described earlier.

And there’s no need to cut-and-paste from the PDF…there’s source on his site (which might include changes made since the paper was written).

Exactly.
Ken Perlin himself describes it here:
http://www.noisemachine.com/talk1/21.html

[quote]And there’s no need to cut-and-paste from the PDF…there’s source on his site (which might include changes made since the paper was written).
[/quote]
Yes! The link is on the paper, and it does include improvements over the implementation code in the paper itself.