OpenSimplex 2
OpenSimplex Noise 的继任者,以及更新的 OpenSimplex。包括 2D、3D 和 4D 噪声。
理由
Legacy OpenSimplex 使用了与 Simplex 不同的网格布局方案。它在常见应用中运行良好,但与原始的 Simplex 点布局在 3D/4D 中相比,并没有产生一致的对比度。此外,当扩展到 5D+ 时,它完全崩溃,产生了可视化的不同值范围的对角线条带。
与顶点重排不同,OpenSimplex2 专注于使用不同方法构建和遍历的等价布局,以满足需要。
还重新审视了梯度向量表,以改进旧噪声和新噪声中的概率对称性。
包含
OpenSimplex2(F) 它看起来最像 Simplex。 它的速度与常见的 Simplex 实现类似。 3D 通过构建一个旋转的体心立方网格作为两个旋转立方网格的偏移并集来实现,并找到每个网格上的最近的两个点。 4D 使用 5 个偏移副本的双重(反斜)网格来生成目标网格。 这种技术可以扩展到任何维度。 附带的 2D 函数只是具有漂亮梯度表的 2D Simplex。 4D 技术确实可以扩展到 2D,但事实证明这种方法更快,而且我无法找到关于其使用限制的证据。 3D 和 4D 是该领域的新贡献。
OpenSimplex2S
- 看起来最像 2014 年的 OpenSimplex。
- 使用与 2014 年的 OpenSimplex 类似的大的顶点贡献范围,但在 3D 和 4D 中具有更好的均匀性。
- 3D 与 OpenSimplex2(F) 类似地实现,但会找到每个点上最近的四个点,以匹配更大的半径。
- 4D 使用普通的扭曲和预先生成的 4x4x4x4 查找表实现。我在项目待办事项中有一个正在开发的更加程序化的实现,如果我发现它在性能上具有竞争力,我会更换它。
使用更新过的渐变的旧版 OpenSimplex