Unreleased - ReleaseDate
0.18.0 - 2023-03-03
- PR#191 replaced
PxCooking
with regular functions asPxCooking
is deprecated in the C++ code.PxCooking::create_bvh
->physx::cooking::create_bvh
PxCooking::create_convex_mesh
->physx::cooking::create_convex_mesh
PxCooking::validate_convex_mesh
->physx::cooking::validate_convex_mesh
PxCooking::create_height_field
->physx::cooking::create_height_field
PxCooking::create_triangle_mesh
->physx::cooking::create_triangle_mesh
PxCooking::validate_triangle_mesh
->physx::cooking::validate_triangle_mesh
0.17.0 - 2023-03-03
- PR#183 resolved #175 by upgrading from PhysX 4.1 to PhysX 5.1.3. See the physx migration guide for more information for updating your code to work with this big breaking change.
0.16.1 - 2023-02-17
- PR#182 fixed a clippy lint that triggers in 1.66.0.
- PR#176 fixed a clippy lint that triggers in 1.65.0.
0.16.0 - 2022-10-20
- Add new
PhysicsFoundation::set_assert_handler
API with corresponding trait. This allows plugging in a Rust-side handler for assertions.
0.15.0 - 2022-10-19
- Add new
PhysicsFoundationBuilder::with_error_callback
API with corresponding trait. This allows plugging in a Rust-side logging framework to consume PhysX errors.
0.14.1 - 2022-10-03
- Fixed a bug where the Pvd host string would get deallocated and fail to connect.
0.14.0 - 2022-10-03
- Warn when enabling PVD without extensions enabled to help diagnose PVD crashes: NVIDIAGameWorks/PhysX#306
- Allow overriding PVD host with
PhysicsFoundationBuilder::set_pvd_host
- Add new
PhysicsFoundation::set_profiler
API with corresponding types. This allows plugging in a Rust-side scope tracing tool like Puffin and consuming PhysX profiling information.
0.13.0 - 2022-08-10
0.12.2 - 2022-02-07
- PR#146 updated the optional glam dependency to 0.20.
0.12.1 - 2021-08-22
- PR#140 updated to Embark lints v0.4, though we allow several clippy lints at the moment due to how endemic a few of them are.
0.12.0 - 2021-07-22
- PR#129 made
glam
an optional dependency and has been updated. You can enable theglam
feature to continue to useglam
withphysx-sys
types. - Updated various struct names and trait implementations:
BVHStructure
is now namedBvhStructure
.PxBVHStructureDesc
is now namedPxBvhStructureDesc
.HeightFieldFormat::S16TM
is now namedS16tm
.BroadPhaseType::GPU
is now namedGpu
.SolverType::{PGS, TGS}
are now namedPgs
, andTgs
.RigidBodyFlag::{EnableCCD, EnableCCDFriction, EnableSpeculativeCCD, EnableCCDMaxContactImpulse}
are now namedEnableCcd
,EnableCcdFriction
,EnableSpeculativeCcd
,EnableCcdMaxContactImpulse
.PruningStructureType::{DynamicAABBTree, StaticAABBTree}
are now namedDynamicAabbTree
,StaticAabbTree
.Mat4
now implementsFrom<physx_sys::PxTransform>
.Quat
now implementsFrom<physx_sys::PxQuat>
.Vec3
now implementsFrom<physx_sys::PxVec3>
.physx_sys::PxActorType::Enum
now implementsFrom<ActorType>
.physx_sys::PxActorFlag::Enum
now implementsFrom<ActorFlag>
.physx_sys::PxArticulationAxis::Enum
now implementsFrom<ArticulationAxis>
.physx_sys::PxArticulationAxis::Enum
now implementsFrom<ArticulationMotion>
.physx_sys::PxArticulationDriveType::Enum
now implementsFrom<ArticulationDriveType>
.physx_sys::PxArticulationFlag::Enum
now implementsFrom<ArticulationFlag>
.physx_sys::PxArticulationJointDriveType::Enum
now implementsFrom<ArticulationJointDriveType>
.physx_sys::PxArticulationJointType::Enum
now implementsFrom<ArticulationJointType>
.physx_sys::PxArticulationRootLinkData
now implementsFrom<ArticulationRootLinkData>
.physx_sys::PxBaseFlag::Enum
now implementsFrom<BaseFlag>
.physx_sys::PxBounds3
now implementsFrom<PxBounds3>
.physx_sys::PxCapsuleClimbingMode::Enum
now implementsFrom<CapsuleClimbingMode>
.physx_sys::PxExtendedVec3
now implementsFrom<PxExtendedVec3>
.physx_sys::PxExtendedVec3
now implementsFrom<PxVec3>
.physx_sys::PxForceMode::Enum
now implementsFrom<ForceMode>
.physx_sys::PxFrictionType::Enum
now implementsFrom<FrictionType>
.physx_sys::PxPairFilteringMode::Enum
now implementsFrom<PairFilteringMode>
.physx_sys::PxPruningStructureType::Enum
now implementsFrom<PruningStructureType>
.physx_sys::PxQuat
now implementsFrom<PxQuat>
.physx_sys::PxRigidBodyFlag::Enum
now implementsFrom<RigidBodyFlag>
.physx_sys::PxRigidDynamicLockFlag::Enum
now implementsFrom<RigidDynamicLockFlag>
.physx_sys::PxSceneFlag::Enum
now implementsFrom<SceneFlag>
.physx_sys::PxSceneLimits
now implementsFrom<SceneLimits>
.physx_sys::PxSceneQueryUpdateMode::Enum
now implementsFrom<SceneQueryUpdateMode>
.physx_sys::PxShapeFlag::Enum
now implementsFrom<ShapeFlag>
.physx_sys::PxSolverType::Enum
now implementsFrom<SolverType>
.physx_sys::PxTransform
now implementsFrom<PxTransform>
.physx_sys::PxVec3
now implementsFrom<PxVec3>
.
- PR#138 updated
enumflags2
to 0.7.
- PR#124 Upgrade glam v0.11 -> v0.12
- PR#113 Fix various issues found using physx-rs in practice after the big PR#98 merge from 0.9.0. You now create a scene using
Physics::create()
with a new scene descriptor that can represent all the parameters of PxSceneDesc. - PR#120 Make convex and triangle mesh validation optional.
0.9.0 - 2020-12-03
- PR#98 Use Class instead of Deref, track user data types This change is a significant refactor. The API is now very close to the underlying PhysX API, but with Rust's type and memory safety. Method names mirror the C++ API, but
like_this
instead oflikeThis
. Much of the additional behaviour that was built on top of the underlying API has been removed. The prelude exports the class-traits, but intentionally does not export the new-type wrappers. Instead of importing them, create type aliases for them with the generic params filled in to cut down on the amount of typing (see the example). The PR has a detailed summary of the changes, with links to the relevant code.
- PR#110 Upgrade glam v0.10 -> v0.11
0.8.0 - 2020-11-10
- PR#102 Upgrade glam v0.9 -> v0.10
0.7.4 - 2020-10-20
- PR#94 Allow overriding the PxAllocatorCallback with a pair of custom callback functions
0.7.3 - 2020-10-14
- PR#90 Expose a bunch of additional parameters on SceneBuilder
0.7.2 - 2020-10-13
- PR#87 Allow setting the solver type when creating a scene
0.7.1 - 2020-08-13
- PR#80 New way to register simulation event callbacks, supporting all callback types this time. Deprecates
set_simulation_event_callback
in favor ofset_simulation_event_callbacks
.
0.7.0 - 2020-06-29
- PR#72 Upgrade
glam
to 0.9. This includes a change ofVec3
internal representation from 16-byte SIMD type to 12-byte 3x floats.
0.6.1 - 2020-06-02
- PR#66 minor change to take the fact that the internal pointer type may differ across platforms into account.
0.6.0 - 2020-05-07
- PR#59 made
cmake
into an optional, non-default, dependency for building the C++ code, in favor of just using thecc
crate. CMake can be enabled via theuse-cmake
feature. - PR#59 added a
structgen
feature flag, to make the creation of the C++ executable that generates the Rust bindings for the C++ code optional, as the generated code is now checked in and should only need to be updated when PhysX itself is updated.
0.5.1 - 2020-03-04
- Restored a way to create a PxScene without a Scene wrapper.
0.5.0 - 2020-03-04
- Character controller wrapper, character manager available via Scene.
- Ability to not run the default filter shader before the callback.
- Fix for triangle mesh data when using glam with SSE enabled