14个版本 (5个重大更改)
0.6.1 | 2022年4月26日 |
---|---|
0.5.3 | 2022年4月23日 |
0.5.2 | 2022年3月27日 |
#5 in #wfc
每月下载量47次
115KB
483 行
WFC
wfc-rs crate是对krychu/wfc实现Wave Function Collapse的封装。
使用extern函数手动封装了wfc库,并提供了一个小型、更符合Rust风格的封装。
请注意,这是一个早期但可用的版本。
用法
一旦将crate添加到Cargo.toml中
wfc_rs = "0.5"
使用from_vec或from_file创建一个WfcImage
let image = WfcImage::from_file("data/cave.png")?;
这创建了一个可选的NonNull,其中包含指向底层WfcImage结构的指针。这个结构是一个repr(C)结构,与'wfc.h'结构中的'wfc_image'相匹配。
然后从这个图像创建一个Wfc结构以及配置设置
let mut wfc = Wfc::overlapping(32, 32, image, 3, 3, true, true, true, true)?;
使用这个Wfc,你可以通过'run'运行一个迭代
wfc.run();
然后导出一个输入
wfc.export("output.png");
或获取原始像素数据作为Vec
let bytes = wfc.vec();