obj-rs 0.4.15

Wavefront obj parser for Rust. It handles both 'obj' and 'mtl' formats.
Documentation

obj-rs crates-i travis-i

Wavefront obj parser for Rust. It handles both .obj and .mtl formats. Documentation

[dependencies]
obj-rs = "0.4"
use std::fs::File;
use std::io::BufReader;
use obj::*;

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

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

img

This sample image is pretty good illustration of current status of obj-rs. obj-rs is currently able to load position and normal data of obj but not texture & material data yet.

Glium support

obj-rs supports glium out of the box. See example for further details.

[dependencies]
glium = "0.8"
obj-rs = { version = "0.4", features = ["glium-support"] }
use std::fs::File;
use std::io::BufReader;
use obj::*;

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

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

BSD 2-Clause