问题
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.
回答1:
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.
回答2:
A year ago, I was needing a fast Perlin
Noise too and have finally implemented this one.
Java Gaming which is 2d in java but can be turned into 3d easily (and indeed in any other language other than java).
Depending on your need you can just use something like noise2d*noise1d (or similar trick), here is a trick sample (should be noise2d*noise1d) rendering in full Java Software.
来源:https://stackoverflow.com/questions/6963388/fastest-perlin-like-3d-noise-algorithm