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 +++++++++++-- src_testbed/physx_backend.rs | 1 - 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src_testbed') 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)) }; diff --git a/src_testbed/physx_backend.rs b/src_testbed/physx_backend.rs index 3985816..837fff2 100644 --- a/src_testbed/physx_backend.rs +++ b/src_testbed/physx_backend.rs @@ -12,7 +12,6 @@ use physx::foundation::DefaultAllocator; use physx::prelude::*; use physx::scene::FrictionType; use physx::traits::Class; -use physx::triangle_mesh::TriangleMesh; use physx_sys::{ PxBitAndByte, PxConvexFlags, PxConvexMeshGeometryFlags, PxHeightFieldSample, PxMeshGeometryFlags, PxMeshScale_new, PxRigidActor, -- cgit