14 comments

[ 0.22 ms ] story [ 45.0 ms ] thread
This is just a simplistic description of Perlin Noise. However while implementing the algorithm this is not the way to go. Because it's very very slow -- the author has simply taken non-coherent noise and smoothened it and this is computationally very expensive.

And also Ken Perlin has made an improved version to his original with some speedups and a reference implementation in Java can be found here: http://mrl.nyu.edu/~perlin/noise/

Where are the permutation numbers derived from?
They are generated randomly. Ken Perlin has described it in his book Texturing, Modeling A Procedural Approach. If I remember correctly the numbers have to be such that every direction should have an equal chance. Even distribution I think.
I was thinking it would be more like the fast inverse square from Quake. If it's random, using the same code could be a problem, no?
I wrote a Python extension based on the original Ken Perlin's algorithm. Just found it on my hard drive and uploaded it to github: http://github.com/ii/perlin
(comment deleted)
Ken Perlin is one of the best computer science professors at NYU. Take a class of his if you get the chance.
A never-released (3d space mmorpg wing-commander-esque) game my friends worked on for a while used this for texturing their worlds: http://www.cocommand.com/
Wow, 2 Ken Perlin related posts in an hour! I met Ken Perlin once very briefly and randomly and was a bit in shock when I realized who I was talking to. He was in shock that I was in shock. Nice (and very smart) guy.