summaryrefslogtreecommitdiff
path: root/world/src/mesh.rs
diff options
context:
space:
mode:
Diffstat (limited to 'world/src/mesh.rs')
-rw-r--r--world/src/mesh.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/world/src/mesh.rs b/world/src/mesh.rs
index b0b55b7..96976ce 100644
--- a/world/src/mesh.rs
+++ b/world/src/mesh.rs
@@ -17,7 +17,7 @@
use crate::{Args, TextureCache, load_texture};
use anyhow::Result;
use gltf::{Mesh, Node, buffer::Data};
-use log::{debug, info};
+use log::{debug, info, warn};
use std::path::Path;
use weareshared::{
Affine3A, Vec3A,
@@ -46,11 +46,13 @@ pub fn import_mesh(
}
let reader = p.reader(|buf| Some(&buffers[buf.index()]));
+ let mut num_vertex = 0;
let va_position = reader
.read_positions()
.map(|iter| {
let a = iter.map(|[x, y, z]| vec3a(x, y, z)).collect::<Vec<_>>();
debug!("{} vertex positions", a.len());
+ num_vertex = a.len();
store.set(&a)
})
.transpose()?;
@@ -81,6 +83,9 @@ pub fn import_mesh(
.map(|iter| {
let a = iter.into_u16().collect::<Vec<_>>();
debug!("{} vertex joint indecies", a.len());
+ if a.len() != num_vertex {
+ warn!("joint index count does not vertex count")
+ }
store.set(&a)
})
.transpose()?;
@@ -90,6 +95,9 @@ pub fn import_mesh(
.map(|iter| {
let a = iter.into_f32().collect::<Vec<_>>();
debug!("{} vertex joint weights", a.len());
+ if a.len() != num_vertex {
+ warn!("joint weight count does not vertex count")
+ }
store.set(&a)
})
.transpose()?;