Skip to content

A Wavefront OBJ parser and utility crate

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

zesterer/wavefront

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wavefront

crates.io crates.io

A Wavefront OBJ parser and utility crate.

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

Example

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

Features

  • Ergonomic API for parsing OBJs from files and readers.

  • Wrapper types that automatically perform indexing and hide the annoyances of the OBJ format if you just want to grab some triangles...

  • ...but allows you to dip into the nitty-gritty details of OBJ if you want to do that too.

  • Correct handling of complex polygons.

  • No dependencies

Roadmap

  • Materials and the MTL support.

  • Object, group, polygon, vertex and vertex attribute insertion

  • Saving

  • Arbitrary geometry support.

Why not [alternative]?

wavefront was born of a general feeling that the API of existing OBJ parsers were either unnecessarily verbose or didn't properly handle the heirarchical structure of the OBJ format. wavefront aims to couple correct handling of the format's features with a clean, terse API that allows you to jump straight to the thing you want to do: rendering your model.

License

wavefront is distributed under either of:

at the disgression of the user.

About

A Wavefront OBJ parser and utility crate

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages