(handle: f64, x: f64, y: f64, z: f64, scale: f64, r: f64, g: f64, b: f64, a: f64)
| 730 | } |
| 731 | #[no_mangle] |
| 732 | pub extern "C" fn bloom_draw_model(handle: f64, x: f64, y: f64, z: f64, scale: f64, r: f64, g: f64, b: f64, a: f64) { |
| 733 | let eng = engine(); |
| 734 | if let Some(model) = eng.models.get(handle) { |
| 735 | let tint = [(r / 255.0) as f32, (g / 255.0) as f32, (b / 255.0) as f32, (a / 255.0) as f32]; |
| 736 | let position = [x as f32, y as f32, z as f32]; |
| 737 | let handle_bits = handle.to_bits(); |
| 738 | if eng.renderer.cache_model_if_static(handle_bits, &model.meshes) { |
| 739 | eng.renderer.draw_model_cached(handle_bits, position, scale as f32, tint); |
| 740 | } else { |
| 741 | for mesh in &model.meshes { |
| 742 | let tex_idx = mesh.texture_idx.unwrap_or(0); |
| 743 | eng.renderer.draw_model_mesh_tinted(&mesh.vertices, &mesh.indices, position, scale as f32, tint, tex_idx); |
| 744 | } |
| 745 | } |
| 746 | } |
| 747 | } |
| 748 | #[no_mangle] |
| 749 | pub extern "C" fn bloom_draw_model_rotated( |
| 750 | handle: f64, x: f64, y: f64, z: f64, |
nothing calls this directly
no test coverage detected