Make mesh attr vertex count mismatch warn more readable (#10259)
# Objective When a mesh vertex attribute has a vertex count mismatch, a warning message is printed with the index of the attribute which did not match. Change to name the attribute, or fall back to the old behaviour if it was not a known attribute. Before: ``` MeshVertexAttributeId(2) has a different vertex count (32) than other attributes (64) in this mesh, all attributes will be truncated to match the smallest. ``` After: ``` Vertex_Uv has a different vertex count (32) than other attributes (64) in this mesh, all attributes will be truncated to match the smallest. ``` ## Solution Name the mesh attribute which had a count mismatch. ## Changelog - If a mesh vertex attribute has a different count than other vertex attributes, name the offending attribute using a human readable name Signed-off-by: Torstein Grindvik <torstein.grindvik@muybridge.com> Co-authored-by: Torstein Grindvik <torstein.grindvik@muybridge.com>
This commit is contained in:
parent
66f72dd25b
commit
f992398c79
@ -385,7 +385,13 @@ impl Mesh {
|
|||||||
let attribute_len = attribute_data.values.len();
|
let attribute_len = attribute_data.values.len();
|
||||||
if let Some(previous_vertex_count) = vertex_count {
|
if let Some(previous_vertex_count) = vertex_count {
|
||||||
if previous_vertex_count != attribute_len {
|
if previous_vertex_count != attribute_len {
|
||||||
warn!("{attribute_id:?} has a different vertex count ({attribute_len}) than other attributes ({previous_vertex_count}) in this mesh, \
|
let name = self
|
||||||
|
.attributes
|
||||||
|
.get(attribute_id)
|
||||||
|
.map(|data| data.attribute.name.to_string())
|
||||||
|
.unwrap_or_else(|| format!("{attribute_id:?}"));
|
||||||
|
|
||||||
|
warn!("{name} has a different vertex count ({attribute_len}) than other attributes ({previous_vertex_count}) in this mesh, \
|
||||||
all attributes will be truncated to match the smallest.");
|
all attributes will be truncated to match the smallest.");
|
||||||
vertex_count = Some(std::cmp::min(previous_vertex_count, attribute_len));
|
vertex_count = Some(std::cmp::min(previous_vertex_count, attribute_len));
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user