From e2006599a8fa90090393ff4fed326ee78fd7c0b7 Mon Sep 17 00:00:00 2001 From: Crozet Sébastien Date: Wed, 20 Jan 2021 15:15:03 +0100 Subject: Add 3D convex decomposition example. --- src_testbed/objects/convex.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src_testbed/objects') diff --git a/src_testbed/objects/convex.rs b/src_testbed/objects/convex.rs index 3f68367..51b1cb4 100644 --- a/src_testbed/objects/convex.rs +++ b/src_testbed/objects/convex.rs @@ -31,8 +31,17 @@ impl Convex { let node = { use std::cell::RefCell; use std::rc::Rc; - let is = indices.into_iter().map(na::convert).collect(); - let mesh = kiss3d::resource::Mesh::new(vertices, is, None, None, false); + let mut mesh_vertices = Vec::new(); + let mut mesh_indices = Vec::new(); + for idx in indices { + let i = mesh_vertices.len() as u16; + mesh_vertices.push(vertices[idx.x as usize]); + mesh_vertices.push(vertices[idx.y as usize]); + mesh_vertices.push(vertices[idx.z as usize]); + mesh_indices.push(Point3::new(i, i + 1, i + 2)); + } + + let mesh = kiss3d::resource::Mesh::new(mesh_vertices, mesh_indices, None, None, false); window.add_mesh(Rc::new(RefCell::new(mesh)), na::Vector3::from_element(1.0)) }; -- cgit