diff options
Diffstat (limited to 'world/src/main.rs')
-rw-r--r-- | world/src/main.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/world/src/main.rs b/world/src/main.rs new file mode 100644 index 0000000..56b62c9 --- /dev/null +++ b/world/src/main.rs @@ -0,0 +1,39 @@ +use anyhow::Result; +use clap::Parser; +use gltf::Gltf; +use std::{ + fs::File, + io::BufReader, + net::{SocketAddr, TcpStream}, + path::PathBuf, +}; +use weareshared::resources::Part; + +#[derive(Parser)] +struct Args { + address: SocketAddr, + scene: PathBuf, +} + +fn main() -> Result<()> { + env_logger::init_from_env("LOG"); + let args = Args::parse(); + + let sock = TcpStream::connect(args.address)?; + + let scenefile = Gltf::from_reader(BufReader::new(File::open(args.scene)?))?; + let scene = scenefile + .default_scene() + .unwrap_or(scenefile.scenes().next().unwrap()); + + for node in scene.nodes() { + if let Some(mesh) = node.mesh() { + for p in mesh.primitives() { + for (sem, iter) in p.attributes() {} + } + let part = Part { ..Part::default() }; + } + } + + Ok(()) +} |