21 个版本

0.9.0 2024年3月23日
0.8.2 2022年10月26日
0.7.0 2020年12月17日
0.6.0 2019年10月1日
0.0.4 2014年11月21日

算法 中排名 11

Download history 9547/week @ 2024-04-08 6601/week @ 2024-04-15 7637/week @ 2024-04-22 7217/week @ 2024-04-29 7096/week @ 2024-05-06 8612/week @ 2024-05-13 6752/week @ 2024-05-20 11026/week @ 2024-05-27 9883/week @ 2024-06-03 7147/week @ 2024-06-10 9742/week @ 2024-06-17 7128/week @ 2024-06-24 7084/week @ 2024-07-01 6218/week @ 2024-07-08 6661/week @ 2024-07-15 5124/week @ 2024-07-22

每月下载量 25,667
用于 111 软件包(65 个直接使用)

Apache-2.0/MIT

280KB
6K SLoC

Github Link CI Status Documentation Version


Noise-rs

用于 Rust 的程序化噪声生成库
探索文档 »

报告错误 - 请求功能

[dependencies]
noise = "0.9"

关于本项目

Noise-rs 是一个用于生成平滑噪声的 Rust 库,适用于纹理和图形显示。

噪声生成器包含在 NoiseFn 模块中,可以组合使用以生成非常复杂的噪声结果。

行星表面示例

planet surface image planet surface 4x planet surface 16x

梯度噪声

梯度噪声在空间中产生平滑、连续的值。这是通过将空间分为区域,在每个顶点放置随机梯度,然后在这些梯度之间进行混合来实现的。

噪声函数

这些是实际的噪声函数,它们只使用 get() 使用坐标并返回一个值。当声明时,可以将它们链接在一起,创建非常复杂的噪声结果。

请参阅各个函数页面以获取其描述,以及示例 以了解其用法。

用法

要使用 write_to_file 函数,您必须在 Cargo.toml 中设置功能 "images"

[dependencies]
noise = { version = "0.9.0", features = ["images"] }
use noise::{Fbm, Perlin};
use noise::utils::{NoiseMapBuilder, PlaneMapBuilder};

fn main() {
  let fbm = Fbm::<Perlin>::new(0);

  PlaneMapBuilder::<_, 2>::new(&fbm)
          .set_size(1000, 1000)
          .set_x_bounds(-5.0, 5.0)
          .set_y_bounds(-5.0, 5.0)
          .build()
          .write_to_file("fbm.png");
}

FBM Noise

有关更多示例,请参阅示例

路线图

查看开放问题,以获取功能建议(以及已知问题)列表。

贡献

贡献让开源社区成为学习、启发和创造的一个神奇地方。您做出的任何贡献都将被高度重视

  1. 分叉项目
  2. 创建您的功能分支(git checkout -b feature/AmazingFeature
  3. 提交您的更改(git commit -m 'Add some AmazingFeature'
  4. 推送到分支(git push origin feature/AmazingFeature
  5. 发起一个Pull Request

除非您明确表示,否则您有意提交的任何贡献,以供包含在您的工作中,将根据以下条款双许可,无任何额外条款或条件。

许可证

根据以下任一项许可:

任选其一。

联系方式

项目链接:https://github.com/razaekel/noise-rs

依赖

~0.4–1MB
~17K SLoC