1 个不稳定版本

0.1.0 2021 年 7 月 23 日

#99 in 数据格式


vox-tool 中使用

MIT 许可证

87KB
2K SLoC

crates.io docs.rs MIT license Maintenance

vox-format

vox-format 是 MagicaVoxel 的 VOX 文件的解析器和编码器。

使用方法

在你的 Cargo.toml 中添加

[dependencies]
vox-format = "0.1"

示例

let vox_data = vox_format::from_file("test_files/glider.vox")?;
println!("{:#?}", vox_data);

lib.rs:

概述

这个 crate 为 MagicaVoxel 的 VOX 文件提供读取和写入功能。它旨在尽量减少复制。虽然你可以将完整的 VOX 文件读入 VoxData 并读取或操作其数据,但也有一个接口可以从 VOX 文件构造自己的体素数据。

如果你在寻找用于操作 VOX 文件的命令行工具,请查看 vox-toolvox-tool 使用 vox-format 编写,因此它可以实现的所有功能也可以仅使用这个 crate 在 Rust 中实现。

特性

image 支持

这个 crate 支持其类型与 image 类型之间的某些转换。特别是 crate::types::ColorRgba<u8> 之间的转换。但它还提供了从图像中读取和写入调色板的方法。

mintnalgebra 支持

功能 mintnalgebra 为这些 crate 提供了 crate::types::Vector 的转换功能。

palette 支持

此功能允许在 crate::types::ColorSrgb<u8>(来自 palette crate)之间进行转换。

序列化

启用 serdecrate::typescrate::data::VoxData 中的类型进行序列化。

此 crate 正在开发中

尽管此 crate 的范围非常有限,并且已经基本实现,但它缺少一些功能,并且尚未经过充分的测试。这很快就会改变,但如果您迫不及待,欢迎您贡献力量 🥺。

示例

从路径读取 crate::data::VoxData

let vox_data = vox_format::from_file(path).unwrap();
println!("{:#?}", vox_data);

依赖项

~0.4–2.7MB
~52K SLoC