From 3c85a6ac41397cf95199933c6a93909bc070a844 Mon Sep 17 00:00:00 2001 From: Sébastien Crozet Date: Tue, 8 Sep 2020 21:18:17 +0200 Subject: Start implementing ray-casting. This adds a QueryPipeline structure responsible for scene queries. Currently this structure is able to perform a brute-force ray-cast. This commit also includes the beginning of implementation of a SIMD-based acceleration structure which will be used for these scene queries in the future. --- src_testbed/physx_backend.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src_testbed/physx_backend.rs') diff --git a/src_testbed/physx_backend.rs b/src_testbed/physx_backend.rs index b06fd7e..8e08a2e 100644 --- a/src_testbed/physx_backend.rs +++ b/src_testbed/physx_backend.rs @@ -196,7 +196,8 @@ impl PhysxWorld { } } else { physx_sys::PxShapeFlags { - mBits: physx_sys::PxShapeFlag::eSIMULATION_SHAPE as u8, + mBits: physx_sys::PxShapeFlag::eSIMULATION_SHAPE as u8 + | physx_sys::PxShapeFlag::eSCENE_QUERY_SHAPE as u8, } }; -- cgit From a60e1e030d624a255e544cabdf98a2df5bb6efdc Mon Sep 17 00:00:00 2001 From: Crozet Sébastien Date: Sun, 13 Sep 2020 10:34:49 +0200 Subject: Disable physx query shapes for now. --- src_testbed/physx_backend.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src_testbed/physx_backend.rs') diff --git a/src_testbed/physx_backend.rs b/src_testbed/physx_backend.rs index 8e08a2e..8131b37 100644 --- a/src_testbed/physx_backend.rs +++ b/src_testbed/physx_backend.rs @@ -196,8 +196,7 @@ impl PhysxWorld { } } else { physx_sys::PxShapeFlags { - mBits: physx_sys::PxShapeFlag::eSIMULATION_SHAPE as u8 - | physx_sys::PxShapeFlag::eSCENE_QUERY_SHAPE as u8, + mBits: physx_sys::PxShapeFlag::eSIMULATION_SHAPE as u8, // | physx_sys::PxShapeFlag::eSCENE_QUERY_SHAPE as u8, } }; -- cgit From 2d0a888484dd296cc785caf978252dd97b58e10a Mon Sep 17 00:00:00 2001 From: Crozet Sébastien Date: Mon, 5 Oct 2020 16:51:50 +0200 Subject: Make the query pipeline serializable. --- src_testbed/physx_backend.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src_testbed/physx_backend.rs') diff --git a/src_testbed/physx_backend.rs b/src_testbed/physx_backend.rs index 8131b37..ec2e2bf 100644 --- a/src_testbed/physx_backend.rs +++ b/src_testbed/physx_backend.rs @@ -261,10 +261,10 @@ impl PhysxWorld { fn setup_joints(&mut self, joints: &JointSet) { unsafe { for joint in joints.iter() { - let actor1 = self.rapier2physx[&joint.body1]; - let actor2 = self.rapier2physx[&joint.body2]; + let actor1 = self.rapier2physx[&joint.1.body1]; + let actor2 = self.rapier2physx[&joint.1.body2]; - match &joint.params { + match &joint.1.params { JointParams::BallJoint(params) => { let frame1 = physx::transform::gl_to_px_tf( Isometry3::new(params.local_anchor1.coords, na::zero()).into_glam(), -- cgit