#wavefront-obj #obj #model #parser

无需std wavefront

Wavefront OBJ解析器和实用工具包

8个版本

0.2.3 2022年9月12日
0.2.2 2021年3月1日
0.2.1 2021年2月24日
0.1.3 2020年12月19日
0.1.2 2020年9月11日

#1616 in 解析器实现

Download history 148/week @ 2024-03-25 195/week @ 2024-04-01 156/week @ 2024-04-08 182/week @ 2024-04-15 233/week @ 2024-04-22 145/week @ 2024-04-29 152/week @ 2024-05-06 183/week @ 2024-05-13 174/week @ 2024-05-20 149/week @ 2024-05-27 118/week @ 2024-06-03 141/week @ 2024-06-10 160/week @ 2024-06-17 144/week @ 2024-06-24 97/week @ 2024-07-01 122/week @ 2024-07-08

543 每月下载次数

Apache-2.0 AND MIT

26KB
498 代码行

Wavefront

crates.io crates.io

一个Wavefront OBJ解析器和实用工具包。

[dependencies]
wavefront = "x.y.z"

示例

let model = wavefront::Obj::from_file("tests/ship.obj").unwrap();

for [a, b, c] in model.triangles() {
    // No index lookup required: wavefront handles this for you!
    println!("{:?} {:?} {:?}", a.position(), b.position(), c.position());
}

A parsec isn't a unit of time, Han

特性

  • 用于从文件和读取器解析OBJ的直观API。

  • 包装类型会自动执行索引并隐藏OBJ格式的一些烦恼,如果您只想获取一些三角形...

  • ...但如果需要,也允许您深入了解OBJ的细节。

  • 正确处理复杂多边形。

  • 无依赖

路线图

  • 材料和MTL支持。

  • 对象、组、多边形、顶点和顶点属性插入

  • 保存

  • 任意几何支持。

为什么不选择[替代方案]?

wavefront诞生于一种普遍的感觉,即现有OBJ解析器的API要么过于冗长,要么没有正确处理OBJ格式的层次结构。wavefront旨在将正确处理格式功能与干净、简洁的API相结合,使您可以直接跳转到您想要做的事情:渲染您的模型。

许可证

wavefront根据用户的意愿在以下许可证下分发:

用户自行决定。

依赖关系

~1MB
~13K SLoC