Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Perlin Noise (virgin.net)
42 points by copernicus on Feb 6, 2010 | hide | past | favorite | 12 comments


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/


"... I first started to think seriously about procedural textures when I was working on TRON at MAGI in Elmsford, NY, in 1981. ..." ~ http://www.noisemachine.com/talk1/4.html

there is another site Perlin has explaining how, "Making Noise" ~ http://www.noisemachine.com/talk1/


According to https://secure.wikimedia.org/wikipedia/en/wiki/Value_noise (which cites this), this page actually describes value noise, not Perlin. I emailed the author, who told me he no longer has access to the site, so unfortunately, people will be fooled for years to come.


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


I've implemented 2D perlin noise for my final year project, but I think it has mistakes in it. Never got the time to verify. If anybody wants to take a look it's here: http://trac.assembla.com/terrainium/browser/TerrainiumLatest...

perlinNoise() is the function to look at. I implemented it based on http://web.archive.org/web/20070706003038/http://www.cs.cmu.... but the images are missing in the web archive :(


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.


Ken Perlin is one of the best computer science professors at NYU. Take a class of his if you get the chance.


If you're interested in noise functions, you might want to check out Pixar's wavelet noise - http://graphics.pixar.com/library/#WaveletNoise


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/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: