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

Nic*_*ell 17 3d procedural noise perlin-noise

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

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

Rob*_*gar 17

你想要Simplex Noise.

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

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


小智 5

一年前,我也需要一个fast PerlinNoise,终于实现了这个。

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

根据您的需要,您可以使用诸如 noise2d*noise1d(或类似技巧)之类的东西,这里有一个技巧示例(应该是 noise2d*noise1d)在完整的Java 软件中渲染。