2个版本
0.7.1 | 2020年12月15日 |
---|---|
0.7.0 | 2020年12月15日 |
#1906 在 算法
245KB
5.5K SLoC
noice
Rust的过程噪声生成库 - 由noise-rs分支而来
use noise::{Fbm, NoiseFn};
let fbm = Fbm::new();
let val = fbm.get([42.0, 37.0, 2.0]);
API
梯度噪声
梯度噪声在空间中产生平滑、连续的值。这是通过将空间划分为区域,并在每个顶点上放置一个随机梯度,然后在这些梯度之间进行混合来实现的。
Perlin噪声
非常快且质量合理的梯度噪声
Perlin::新()
OpenSimplex噪声
一种较慢但质量更高的梯度噪声形式
OpenSimplex::新()
值噪声
值噪声(有时与梯度噪声混淆)产生质量较低的平滑噪声。它显示出明显的网格伪影,但可能比梯度噪声略快。基准测试显示,它比Perlin噪声快约1.2-1.3倍。
使用加权S曲线线性插值方法对单元格邻居进行混合。这消除了网格边缘的任何不连续性。
值::新()
分数布朗运动
一种将噪声函数的多个八度音阶组合在一起以创建更丰富、更多样化的输出的方法
Fbm::新()
Worley噪声
以Steven Worley的名字命名,也称为Voronoi噪声,它基于将空间划分为基于随机种子点距离的单元格
Worley::新()
噪声函数
这些是实际的噪声函数,它们仅使用get()
获取坐标并返回一个值。它们可以在声明时连接在一起,创建非常复杂的噪声结果。
请参阅各个函数页面以获取其描述,以及示例以了解其用法。
许可
根据以下之一许可
- Apache许可证2.0版 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT) 由您选择。
贡献
除非您明确声明,否则任何有意提交以包含在您的工作中的贡献都将根据上述方式双许可,没有任何额外的条款或条件。
依赖关系
~5MB
~68K SLoC