diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-05 18:20:49 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-05 18:20:49 +0100 |
commit | f2fa92e701b8da8e9d2e091ade21784623710374 (patch) | |
tree | 87d4fe19042fdabad4771967f89ea9cb436bdb1c /world/src/main.rs | |
parent | 72c23eb57070ab859ffde4f989aa85f7f2eedcf8 (diff) | |
download | weareserver-f2fa92e701b8da8e9d2e091ade21784623710374.tar weareserver-f2fa92e701b8da8e9d2e091ade21784623710374.tar.bz2 weareserver-f2fa92e701b8da8e9d2e091ade21784623710374.tar.zst |
a
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(()) +} |