diff options
| author | Crozet Sébastien <developer@crozet.re> | 2021-01-20 15:15:03 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2021-01-20 15:15:33 +0100 |
| commit | e2006599a8fa90090393ff4fed326ee78fd7c0b7 (patch) | |
| tree | d7a016f7197095b5984ab0651ea2650959af421a /src_testbed | |
| parent | 87b56c38b6e98ec6420ef4a3026fb5093c40185a (diff) | |
| download | rapier-e2006599a8fa90090393ff4fed326ee78fd7c0b7.tar.gz rapier-e2006599a8fa90090393ff4fed326ee78fd7c0b7.tar.bz2 rapier-e2006599a8fa90090393ff4fed326ee78fd7c0b7.zip | |
Add 3D convex decomposition example.
Diffstat (limited to 'src_testbed')
| -rw-r--r-- | src_testbed/objects/convex.rs | 13 | ||||
| -rw-r--r-- | src_testbed/physx_backend.rs | 1 |
2 files changed, 11 insertions, 3 deletions
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, |
