1 个不稳定版本
0.1.0 | 2021 年 7 月 23 日 |
---|
#99 in 数据格式
在 vox-tool 中使用
87KB
2K SLoC
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-tool
。 vox-tool
使用 vox-format
编写,因此它可以实现的所有功能也可以仅使用这个 crate 在 Rust 中实现。
特性
image
支持
这个 crate 支持其类型与 image
类型之间的某些转换。特别是 crate::types::Color
与 Rgba<u8>
之间的转换。但它还提供了从图像中读取和写入调色板的方法。
mint
和 nalgebra
支持
功能 mint
和 nalgebra
为这些 crate 提供了 crate::types::Vector
的转换功能。
palette
支持
此功能允许在 crate::types::Color
和 Srgb<u8>
(来自 palette
crate)之间进行转换。
序列化
启用 serde
对 crate::types
和 crate::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