最快的Perlin-Like 3D噪声算法?

时间:2011-08-05 22:44:55

标签: 3d noise perlin-noise procedural

自从肯·佩林首次发明噪音以来已有20多年了。有没有人设法制作一种速度更快的3D噪声发生器,具有接近Perlin的特性(程序性,自然的分组,减少的条带,常规的特征尺寸等)?

我正在尝试构建一个程序世界生成器,但目前Perlin并没有削减它。我承认我的实现并不是现在最好的,但如果我要重写它,我还是想知道是否有更好的算法可用。

2 个答案:

答案 0 :(得分:16)

你想要Simplex Noise

  • 计算成本低廉
  • 不是基于方格,所以没有明显的方向性伪影
  • 更好地扩展到更高的维度:O(N ^ 2)与经典Perlin的O(2 ^ N)对于N维

有一个很好的解释here。显然,Ken Perlin的示例实现并不是最容易理解的代码。

答案 1 :(得分:4)

一年前,我也需要一个fast Perlin噪音,并最终实现了这个。

Java Gaming在java中是2d但可以很容易地变成3d(实际上除了java以外的任何其他语言)。

根据您的需要,你可以使用像noise2d * noise1d(或类似的技巧)这样的东西,这里是一个特技样本(应该是noise2d * noise1d)渲染完全Java Software