wavefront_world/
wavefront-world.rs1extern crate mash;
2
3use mash::load;
4
5type Vertex = mash::Vector;
6type Index = u32;
7type Model = mash::Model<Vertex, Index>;
8
9fn main() {
10 let world = load::wavefront::from_path("res/world.obj").unwrap();
12
13 let doors: Vec<Model> = world.objects().filter(|o| o.name().contains("door")).map(|object| {
16 Model::new(object).unwrap()
18 }).collect();
19
20 for door in doors {
21 println!("door model: {:?}", door);
22 }
23
24 let entire_world = Model::new(world).unwrap();
26
27 let half_triangles = entire_world.mesh.triangles().enumerate().filter(|&(idx,_)| idx%2 == 0).map(|(_,t)| t);
29 let half_world: Model = Model { mesh: half_triangles.collect() };
30
31 println!("half world: {:?}", half_world);
32}
33