:: Back to news index ::

PhysX SDK 3.2.2 is available

with 8 comments

New version of PhysX SDK 3.x is now available. Despite of minor revision number, 3.2.2 release contains massive amount of bug-fixes and new features.

Update: PhysX SDK 3.2.3 is available


PhysX SDK 3.2.2 – Release Notes

  • General
    • Added Microsoft Windows RT (formerly known as Windows on ARM) support.
    • Suspended Sony Playstation Vita support.
    • Enabled Win64 DEBUG build to use SIMD enabled code path.
    • PxScene now exposes methods to make multithreaded sharing of scenes easier, see PxSceneFlags::eREQUIRE_RW_LOCK for details.
    • The bounce threshold velocity can be set at run-time with PxScene::setBounceThresholdVelocity. Likewise, it can be queried with PxScene::getBounceThresholdVelocity.
    • PxGeometryQuery::mtd() has been added, to compute the Minimum Translational Distance between geometry objects.
    • Fixed bug in quaternion to axis/angle routine which failed on negative w values.
    • Fixed crash when using ConvX on a PxCollection with external references.
    • Fixed a spurious overlapping read/write error report when using simulation call backs in checked builds.
    • Fixed return value of Ps::atomicExchange for POSIX based platforms: Linux, Android, IOS and OSX.
  • Broad Phase
    • Fixed a broad phase crash bug.

  • Collision Detection
    • Collision detection now more robust when confronted with ill-conditioned scenarios.
    • Fixed crash when SDK is unable to create more contact pairs. Now a warning is emitted and the contacts are ignored.
  • Rigid Bodies
    • Improved the numerical stability of articulations.
    • Added PxArticulationDriveCache for applying an impulse to an entire articulation.
    • The target pose of a kinematically controlled dynamic actor can now get extracted through PxRigidDynamic::getKinematicTarget().
    • The new flag PxRigidDynamicFlag::eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES makes scene queries use the target pose of a kinematically controlled dynamic actor instead of the actual pose.
    • Fixed PxConstraintFlag::eVISUALIZATION having no effect.
    • Fixed bug that caused sleep/wake-up notification events to get lost.
    • Fixed a bug where sleeping objects were not waking up properly.
    • Fixed potential assert when switching a rigid body between kinematic and dynamic with contact reports enabled.
    • Fixed a bug where CCD didn’t consider the scaling transform for triangle meshes.
    • Fixed a potential crash bug when PxConstraintFlag::ePROJECTION gets raised after a joint (that connects to other projecting joints) has been created.
    • Fixed a bug that resulted in joint breakage being reported every frame for any broken joint.
    • Fixed various crash bugs when sleeping articulations were removed from the scene and re-added.
  • GPU Physics
    • Fixed a possible out of bounds array access in GPU particle collision code.
    • Fixed sample particles crash when there is a cuda kernel error.
    • Upgraded GPU tech to CUDA 4.2.
    • Updated the GPU PhysX Visual Indicator to allow APEX to hook into it.
  • Scene Queries
    • PxSceneQueryHit::faceIndex is now filled in for sweeps against convex meshes.
    • Added support for sphere and capsule shaped heightfield overlap queries.
    • Added an inflation parameter to all sweep queries in PxGeometryQuery, PxBatchQuery, and PxScene. This can be used to maintain a minimum distance between objects when moving them using sweeps.
    • Made sure that raycast multiple will include the closest triangle in the results even if the output cannot hold all the triangles that are hit.
    • Fixed swept sphere against capsule not properly testing for initial overlap.
    • Fixed the normal vector returned from sweeps being sometimes negated.
    • Fixed a scenario where raycasting could miss an actor after the user has moved it using setGlobalPose().
    • Fixed swept convex against plane sometimes reporting false hits.
    • Fixed swept/overlap/raycast with convexes that don’t have identity scale rotation.
    • Fixed a culling bug for box-triangle mesh sweep.
  • Convex Hulls
    • Convex hull is rejected if it has less than 4 polygons.
    • Additional convex hull check has been added to detect open volumes.
  • Triangle Meshes
    • Added triangle mesh flags for 16bit indices and adjacency information.
    • Fixed adjacency information order for getTriangle with triangle meshes to respect the vertex order.
  • HeightFields
    • Fixed bug where capsules would bounce as they roll across heightfield edges.
    • Fixed bug where spheres would bounce as they roll across heightfield vertices.
    • Added adjacency information for getTriangle with height fields.
  • Particles
    • Fixed triangle mesh shapes with ePARTICLE_DRAIN colliding with particles.
    • Fixed crash with GPU particles when a lot of grid cells get occupied and vacated within one time step.
  • Character Controller
    • The PxControllerBehaviorFlag::eCCT_USER_DEFINED_RIDE flag has been added.
    • Fixed character controller not walking up steps properly if they are not exactly 90 degrees vertical.
    • Fixed a bug where the character controller was not able to move up slopes when using a small step offset setting.
    • Fixed a bug where the character controller could rise off the ground when blocked by a step.
    • Fixed a bug where the character controller could rise off the ground when hitting another character controller.
    • Fixed a bug where releasing a shape of a touching actor and then releasing the character controller would crash. Releasing shapes of actors in touch may still lead to crashes in other situations. PxController::invalidateCache() can be used to work around these situations.
  • CCD
    • Fixed culling bug in CCD sweeps with meshes with transforms that caused contacts to be missed.
  • Vehicles
    • PxVehicleWheelData::mMaxSteer was limited to positive values. This restriction has now been relaxed with the caveat that PxVehicleWheelData::mMaxSteer must be in range (-Pi/2, Pi/2).
    • It is now possible to set the engine rotation speed (PxVehicleDriveDynData::setEngineRotationSpeed), the rotation speed of each wheel (PxVehicleWheelsDynData::setWheelRotationSpeed) and the rotation angle of each wheel (PxVehicleWheelsDynData::setWheelRotationAngle).
    • Wheel contact reporting has been improved with the addition of a number of query functions to the PxVehicleWheelsDynData class.
    • It is now possible to store a userData pointer per wheel. This allows, for example, each wheel to be associated with a game object. The relevant functions are PxVehicleWheelsDynData::setUserData and PxVehicleWheelsDynData::getUserData.
    • The default behavior of PxVehicleWheels::setWheelShapeMapping has changed. The default value is now -1, meaning any mapping between body shape and wheel has to be explictily made by calling setWheelShapeMapping
    • It is now possible to query the mapping between wheel and body shape with PxVehicleWheels::getWheelShapeMapping.
    • It is now possible to query the tire shader data that has been applied to each wheel with PxVehicleWheelsDynData::getTireForceShaderData.
    • The helper function PxVehicleComputeSprungMasses has been added to aid the setup of the suspension sprung masses from the rigid body centre of mass and wheel center coordinates.
    • The scene query filter data now must be explictly set per wheel by calling PxVehicleWheels::setSceneQueryFilterData. The filter data can be queried with PxVehicleWheels::getSceneQueryFilterData.
    • Sub-stepping of the vehicle update can now be applied per vehicle with PxVehicleWheelsSimData::setSubStepCount.
    • PxVehicleDrivableSurfaceToTireFrictionPairs has been modified so that the dictionary of material pointers can be updated without the necessity of further allocation. The create function has been replaced with separate allocate and setup functions.
    • A new vehicle type PxVehicleNoDrive has been added to provide a close approximation to backwards compatibility with the api of the 2.8.x NxWheelShape.
  • Visual Remote Debugger
    • Added PVD compatible profile zones for batched queries.
    • Added the ability to capture and inspect scene queries in PVD.
    • SDK will now flush the pvd connection stream immediately after cloth or cloth fabric is created or released.
    • Fixed the PVD support for articulations.
    • Fixed PVD rendering wrong constraint limits.
  • Documentation
    • Wrong statement in PxRigidStatic::release() has been corrected. Static rigid bodies do wake up touching dynamic rigid bodies on release.
    • Wrong statement in PxShape::setFlag() has been corrected. It is a valid operation to clear all flags.
    • SDK will now flush the pvd connection stream immediately after cloth or cloth fabric is created or released.
    • Fixed the PVD support for articulations.
    • Fixed PVD rendering wrong constraint limits.

While PhysX Registered Developer Program website is still getting back on track, PhysX SDK 3.2.2 can be downloaded through Developer Support Center.

If you are experiencing troubles with registration, please refer to our updated guide.

Written by Zogrim

October 30th, 2012 at 10:56 am

Posted in PhysX SDK

Tagged with , ,

8 Responses to 'PhysX SDK 3.2.2 is available'

Subscribe to comments with RSS

  1. There is a regression in the Android demo. Since 3.20 final version it crashes if you switch to the submarine scene (occurs only with Tegra 2, Nexus7 is OK).

    I/DEBUG(89): Build fingerprint: ‘dell/streak7/streak7:3.2/HTJ85B/eng.cmbuild.20110919.173527:user/release-keys’
    I/DEBUG(89): pid: 1262, tid: 1270 >>> com.nvidia.physx.samples.Samples <<<
    I/DEBUG(89): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 004d0000
    I/DEBUG(89): r0 634a6f08 r1 004d0000 r2 00000000 r3 00000000
    I/DEBUG(89): r4 0000a69f r5 00437ad0 r6 00000000 r7 00000060
    I/DEBUG(89): r8 00436640 r9 00429610 10 59091628 fp 003a5120
    I/DEBUG(89): ip 00555360 sp 590914e0 lr aff10ca4 pc 81b0416c cpsr 80000010
    I/DEBUG(89): #00 pc 0030416c /data/data/com.nvidia.physx.samples.Samples/lib/ (_ZN5physx10Collection11deserializeEPvPNS_16PxUserReferencesEPKS2_)
    I/DEBUG(89): #01 pc 00125394 /data/data/com.nvidia.physx.samples.Samples/lib/ (_ZN4Crab4loadEPKc)
    I/DEBUG(89): #02 pc 00126bac /data/data/com.nvidia.physx.samples.Samples/lib/ (_ZN4CrabC1ER15SampleSubmarinePKcP14RenderMaterial)
    I/DEBUG(89): #03 pc 0012d0f0 /data/data/com.nvidia.physx.samples.Samples/lib/ (_ZN15SampleSubmarine19createDynamicActorsEv)
    I/DEBUG(89): libc base address: aff00000




    31 Oct 12 at 7:36 pm

  2. Answered here




    7 Nov 12 at 7:33 pm

  3. I wanna test physX



    Jiin Hsu

    11 Nov 12 at 1:01 pm

  4. plz i want lates vertion




    8 Dec 12 at 5:22 pm

  5. Is there someone out there who managed to get the Linux SDK?
    I registered at Nvidia, but I can see the Windows version only.
    Any hints?




    5 Feb 13 at 4:37 pm

  6. d.l.i.w: Is there someone out there who managed to get the Linux SDK?

    If you are the one who sent us a e-mail about same problem a while ago, it should be fixed now.
    Can you check it, please ?




    5 Feb 13 at 7:51 pm

  7. Zogrim: If you are the one who sent us a e-mail about same problem a while ago, it should be fixed now.
    Can you check it, please ?

    That was someone else,
    but I got an “Account Updated” mail from Nvidia just right now and now everything is there…
    [I thought that an "activated" account already grants full access...]

    Thanks for your time…




    6 Feb 13 at 12:44 pm

  8. d.l.i.w: I thought that an “activated” account already grants full access

    It does, but sometimes bugs with download permissions may occur.
    If you’ll send your account data (name/e-mail) to , we’ll try to forward it to NV so they can fix it.




    6 Feb 13 at 12:51 pm

Leave a Reply

Refresh Image
Copyright © 2009-2014. | About project | Privacy Policy
PhysX is trademark of NVIDIA Corporation