Path: blob/main/crates/bevy_gltf/src/loader/gltf_ext/mesh.rs
6598 views
use bevy_mesh::PrimitiveTopology;12use gltf::{3mesh::{Mesh, Mode},4Material,5};67use crate::GltfError;89pub(crate) fn primitive_name(mesh: &Mesh<'_>, material: &Material) -> String {10let mesh_name = mesh.name().unwrap_or("Mesh");1112if let Some(material_name) = material.name() {13format!("{mesh_name}.{material_name}")14} else {15mesh_name.to_string()16}17}1819/// Maps the `primitive_topology` from glTF to `wgpu`.20#[cfg_attr(21not(target_arch = "wasm32"),22expect(23clippy::result_large_err,24reason = "`GltfError` is only barely past the threshold for large errors."25)26)]27pub(crate) fn primitive_topology(mode: Mode) -> Result<PrimitiveTopology, GltfError> {28match mode {29Mode::Points => Ok(PrimitiveTopology::PointList),30Mode::Lines => Ok(PrimitiveTopology::LineList),31Mode::LineStrip => Ok(PrimitiveTopology::LineStrip),32Mode::Triangles => Ok(PrimitiveTopology::TriangleList),33Mode::TriangleStrip => Ok(PrimitiveTopology::TriangleStrip),34mode => Err(GltfError::UnsupportedPrimitive { mode }),35}36}373839