(
model: &models::Model, node_idx: usize, parent: u32,
gltf_to_bloom: &mut std::collections::HashMap<usize, u32>,
skinned_nodes: &mut Vec<(u32, usize)>,
)
| 962 | } |
| 963 | |
| 964 | fn spawn_node_subtree( |
| 965 | model: &models::Model, node_idx: usize, parent: u32, |
| 966 | gltf_to_bloom: &mut std::collections::HashMap<usize, u32>, |
| 967 | skinned_nodes: &mut Vec<(u32, usize)>, |
| 968 | ) { |
| 969 | let Some(gltf_node) = model.nodes.get(node_idx) else { return; }; |
| 970 | let bloom_node = scene::create(); |
| 971 | gltf_to_bloom.insert(node_idx, bloom_node); |
| 972 | scene::set_parent(bloom_node, parent); |
| 973 | scene::set_transform(bloom_node, gltf_node.local_transform()); |
| 974 | if let Some(mi) = gltf_node.mesh { |
| 975 | if let Some(mesh) = model.meshes.get(mi) { |
| 976 | attach_mesh(bloom_node, mesh); |
| 977 | if gltf_node.skin.is_some() { |
| 978 | skinned_nodes.push((bloom_node, node_idx)); |
| 979 | } |
| 980 | } |
| 981 | } |
| 982 | for &child_idx in &gltf_node.children { |
| 983 | spawn_node_subtree(model, child_idx, bloom_node, gltf_to_bloom, skinned_nodes); |
| 984 | } |
| 985 | } |
| 986 | |
| 987 | fn apply_primitive(handle: u32, prim: &models::Primitive) { |
| 988 | scene::set_geometry(handle, |
no test coverage detected