#wavefront-obj #obj #3d #graphics #parser #3d-model #wave-front

obj-rs

Rust Wavefront obj 解析器。它处理 'obj' 和 'mtl' 格式。

39 个版本

0.7.1 2023 年 3 月 30 日
0.7.0 2021 年 9 月 30 日
0.6.4 2021 年 9 月 30 日
0.6.3 2021 年 6 月 22 日
0.0.5 2014 年 12 月 28 日

#7数据格式

Download history 2431/week @ 2024-04-22 4775/week @ 2024-04-29 3828/week @ 2024-05-06 4229/week @ 2024-05-13 4181/week @ 2024-05-20 4542/week @ 2024-05-27 1909/week @ 2024-06-03 3639/week @ 2024-06-10 2672/week @ 2024-06-17 5485/week @ 2024-06-24 3784/week @ 2024-07-01 3553/week @ 2024-07-08 4609/week @ 2024-07-15 4441/week @ 2024-07-22 5079/week @ 2024-07-29 3787/week @ 2024-08-05

18,021 每月下载量
用于 17 仓库 (12 个直接使用)

Apache-2.0 OR MIT

775KB
1K SLoC

obj-rs 版本

Rust Wavefront .obj 解析器。它处理 .obj.mtl 格式。有关更多信息,请参阅 文档

[dependencies]
obj-rs = "0.6"
use std::fs::File;
use std::io::BufReader;
use obj::{load_obj, Obj};

let input = BufReader::new(File::open("tests/fixtures/dome.obj"))?;
let model: Obj = load_obj(input)?;

// Do whatever you want
model.vertices;
model.indices;

Rendered image of cute Rilakkuma


Glium 支持

obj-rs 默认支持 glium

[dependencies]
glium = "0.26"
obj-rs = { version = "0.6", features = ["glium"] }
use std::fs::File;
use std::io::BufReader;
use obj::{load_obj, Obj};

let input = BufReader::new(File::open("rilakkuma.obj")?);
let obj: Obj = load_obj(input)?;

let vb = obj.vertex_buffer(&display)?;
let ib = obj.index_buffer(&display)?;

请参阅 示例代码 以获取更多信息。可以使用以下命令执行它。

cargo run -p sampleapp


obj-rs 主要在 Apache 许可证(版本 2.0)MIT 许可证 的条款下分发。有关详细信息,请参阅 COPYRIGHT

依赖项

~0.5–9.5MB
~91K SLoC