7个版本 (破坏性更新)

0.7.0 2024年7月10日
0.6.0 2024年2月23日
0.5.0 2023年11月6日
0.4.0 2023年7月13日
0.1.0 2022年10月25日

#678游戏开发

Download history 114/week @ 2024-04-22 144/week @ 2024-04-29 22/week @ 2024-05-06 33/week @ 2024-05-13 134/week @ 2024-05-20 72/week @ 2024-05-27 64/week @ 2024-06-03 51/week @ 2024-06-10 75/week @ 2024-06-17 49/week @ 2024-06-24 5/week @ 2024-07-01 171/week @ 2024-07-08 186/week @ 2024-07-15 131/week @ 2024-07-22 127/week @ 2024-07-29 64/week @ 2024-08-05

521 每月下载次数
2 crates 中使用

MIT 许可证

91KB
285

noisy_bevy

crates.io MIT docs.rs

为glam类型(Vec2Vec3)和wgsl提供的简单噪声原语。

主要动机是

  • 与Bevy的易用性
  • Rust和wgsl上的结果相同(尽管不是位级完美)

screenshot of an asteroid generated on the gpu and cpu

实现的噪声原语

使用方法

从rust

零初始化,只需调用噪声函数

use bevy::prelude::*;
use noisy_bevy::simplex_noise_2d;

let p = Vec2::new(12.3, 45.6);
let value = simplex_noise_2d(p);

从wgsl着色器

首先将插件添加到Bevy应用

App::new()
    .add_plugins(NoisyShaderPlugin)

然后导入并使用它,在着色器中使用与CPU端相同的API

#import noisy_bevy::simplex_noise_2d

// ...

let p = vec2(12.3, 45.6);
let value = simplex_noise_2d(p);

请参阅asteroids example,该示例使用噪声在CPU上以程序化方式生成tilemap,并在wgsl着色器中创建匹配的背景。

Bevy版本支持

main分支针对最新的Bevy版本。

bevy noisy_bevy
0.14 0.7,main
0.13 0.6
0.12 0.5
0.11 0.4
0.10 0.3
0.9 0.2
0.8 0.1

许可证

MIT

原始simplex噪声源仅限于MIT,但我或PR对此仓库所做的所有更改也适用于Apache-2.0。

致谢

噪声原语是以下这些的端口/副本

贡献

PR欢迎!

依赖项

~33–70MB
~1M SLoC