Wavefront .obj parser for Rust. It handles both .obj
and .mtl
formats.
See Documentation for the further details.
[dependencies]
obj-rs = "0.7"
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;
obj-rs supports glium out of the box.
[dependencies]
glium = "0.35"
obj-rs = { version = "0.7", 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)?;
Please see the working sample for the further details. Use can execute it with the command below.
cargo run -p sampleapp
obj-rs is primarily distributed under the terms of both the Apache License (Version 2.0) and the MIT license. See COPYRIGHT for details.