Migrating From PhysX SDK 5.2 to 5.3

  • This guide highlights all significant parts of the API that have changed in the last release. An application with a working integration of the older version of PhysX should be able to easily migrate to the newer version by following these pointers.

Simulation

  • The behavior of the TGS solver with respect to the number of velocity iterations has changed. Previously TGS velocity iterations in excess of 4 were silently converted to position iterations. To preserve the old behavior any actor requesting more than 4 velocity iterations should convert excess velocity iteration counts to position iteration counts, e.g., formerly 10 position and 10 velocity iterations should become 16 position and 4 velocity iterations.

  • The signatures of PxScene::copyArticulationData(), PxScene::applyArticulationData(), PxScene::copySoftBodyData(), PxScene::applySoftBodyData(), PxScene::copyContactData(), PxScene::copyBodyData(), PxScene::applyActorData(), PxScene::computeDenseJacobians(), PxScene::computeGeneralizedMassMatrices(), PxScene::computeGeneralizedGravityForces(), PxScene::computeCoriolisAndCentrifugalForces() and PxScene::applyParticleBufferData() have been changed. The CUevents should now be passed in directly instead of using void pointers.

  • PxSceneFlag::eFORCE_READBACK was deprecated and has been removed. There is no replacement.

  • PxSceneFlag::eSUPPRESS_READBACK was deprecated and has been removed. Use PxSceneFlag::eENABLE_DIRECT_GPU_API instead.

Vehicles

  • PxVehicleTireDirsUpdate(), PxVehicleTireCamberAnglesUpdate(): instead of a reference to a PxVehicleRoadGeometryState struct, these methods now expect a ground plane normal vector and a boolean indicator for ground contact as input. The former can, for example, be extracted from PxVehicleRoadGeometryState::plane, for the latter the helper method PxVehicleIsWheelOnGround() is a recommended option.

  • PxVehicleTireGripUpdate(): instead of reference to a PxVehicleRoadGeometryState struct and a PxVehicleSuspensionState struct, this method now expects a friction coefficient and a boolean indicator for ground contact as input. The former can, for example, be extracted from PxVehicleRoadGeometryState::friction, for the latter the helper method PxVehicleIsWheelOnGround() is a recommended option.