use std::env;
use std::process;
use rust_usd::Stage;
fn main() {
let path = env::args().nth(1).unwrap_or_else(|| {
eprintln!("usage: dump_textures <path-to-usd-file>");
process::exit(2);
});
let stage = Stage::open(&path).unwrap_or_else(|e| {
eprintln!("failed to open stage: {}", e.what());
process::exit(1);
});
let meshes = stage.meshes();
if meshes.is_empty() {
println!("(no UsdGeomMesh prims in {})", path);
return;
}
for mesh in meshes {
let paths = mesh.bound_texture_paths();
if paths.is_empty() {
println!("{}: (no bound textures)", mesh.prim_path());
} else {
println!("{}:", mesh.prim_path());
for p in paths {
println!(" {}", p);
}
}
}
}