Aiursrage2k
22-11-2007 02:56:30
Posting the release notes, hope you dont mind...
What's New In AGEIA PhysX 2.7.3
General
* The CharacterController code has been reworked, affecting the API a little, see the API changes and CharacterController sections below for more details.
API changes
* Enum NxCapsuleClimbingMode and the following list of related properties/methods have been added:
o NxCapsuleControllerDesc::climbingMode
o NxCapsuleController::setClimbingMode()
o NxCapsuleController::getClimbingMode()
* Enum NxClothVertexAttachmentStatus has been added.
* NxCloth has been extended with new vertex functionality and wind acceleration:
o NxCloth::dominateVertex()
o NxCloth::getVertexAttachmentStatus()
o NxCloth::getVertexAttachmentShape()
o NxCloth::getVertexAttachmentPosition()
o NxCloth::getPosition() / NxCloth::setPosition()
o NxCloth::getVelocity() / NxCloth::setVelocity()
o NxCloth::getWindAcceleration() / NxCloth::setWindAcceleration()
o NxClothDesc::windAcceleration
* Enum NxForceFieldType and the following list of related properties/methods have been added:
o NxForceFieldDesc::fluidType
o NxForceFieldDesc::clothType
o NxForceFieldDesc::softBodyType
o NxForceFieldDesc::rigidBodyType
o NxForceField::getFluidType() / NxForceField::setFluidType()
o NxForceField::getClothType() / NxForceField::setClothType()
o NxForceField::getSoftBodyType() / NxForceField::setSoftBodyType()
o NxForceField::getRigidBodyType() / NxForceField::setRigidBodyType()
* NxForceField::getScene() has been added
* NxHeightField::getThickness(), NxHeightFieldDesc::thickness has been added
* NxSoftBody has been extended with new vertex functionality:
o NxSoftBody::getPosition() / NxSoftBody::setPosition()
o NxSoftBody::getVelocity() / NxSoftBody::setVelocity()
* NxUtilLib has a number of new functions:
o NxSweepBoxCapsule()
o NxSweepBoxSphere()
o NxSweepCapsuleCapsule()
o NxSweepSphereCapsule()
o NxSweepBoxBox()
o NxSweepBoxTriangles()
o NxSweepCapsuleTriangles()
o NxPointOBBSqrDist()
o NxSegmentOBBSqrDist()
* NxActor::recomputeAdaptiveForceCounters() has been added, see known issues for more details.
Hardware/Software Rigid Bodies
* Height fields using only one material (plus optionally the hole material) are using an optimized code path.
* Height fields now has a thickness following the height field shape, deprecating the old vertical extent.
Hardware/Software Fluids
* Removing all subshapes from an actor in contact with a fluid could lead to a memory leak, fixed.
Hardware/Software Cloth
* It is now possible to use a kinematic actor as core actor and still get deformation.
* A bug regarding cloth tear lines has been fixed.
* Trying to create a new cloth when the HW is already full will now return NULL.
* A sleeping cloth with pressure would build up pressure while sleeping and exploding when awoken, fixed.
* Metal cloth now correctly updates the center of mass on the attached core actor when updating the core shapes.
* Cloth now has wind acceleration working in the normal direction.
* It is now possible to get attachment data from individual vertices.
* Velocity and position can be set on a single vertex.
* Weight with expiration time can be set on vertices.
Hardware/Software Soft Bodies
* A soft body solver bug has been fixed, reducing soft body jittering.
* Soft bodies no longer keep rigid bodies awake for ever when two-way interaction is enabled.
* The getRelativeGridSpacing() method now returns the correct value.
* Velocity and position can now be set on single vertices.
Hardware Scene Manager(HSM)
* Better handling on filtering of compound actors.
Character Controller
* The character controller library now has full support for a user allocator.
* A debug renderable can be retrieved through the NxControllerManager::getDebugData()/resetDebugData() methods.
* NxExtendedBounds3 has some new methods: getCenter(axis), getExtents(axis), isInside(), scale(), combine() has been renamed add(), and intersects() has been renamed intersect().
* A new enum NxCapsuleClimbingMode has been added, specifying the type of climbing mode capsule character controllers should use.
Force Fields
* It is possible to set different behaviors on a force field for the different types of SDK objects, using the NxForceFieldType settings. This way you can specify that the force field should apply a direct acceleration instead of the default of applying a force.
* NxForceFieldFlags have been deprecated and replaced with NxForceFieldType (see above).
* It is now possible to get the owner scene from NxForceField::getScene().
* Now handles filtering of compounds better.
Doublebuffering API (Nxd)
* Bug fix: no longer crashes because of updating a released fluid/cloth/softbody.
Performance
* Performance data can now return a subset of the full data, to minimize the impact of recording such data.
Serialization
* Notifications about Compartment, Force Field, and Material creation have been added to the NXU_userNotify interface.
* Some missing scene- and fluid flags have been added.
Known Issues And Limitations
Hardware/Software Rigid Bodies
* The method recomputeAdaptiveForceCounters() has been added to solve one specific issue, please only use this method if you are experiencing the following issue: If you change the filtering of a dynamic actor while it is inactive or kinematic, the touch count can get out of sync. This will only affect the behavior of actors if adaptive force is used (and will manifest itself by making actors behave as if they were lighter than normally). This bug will be fixed in the next minor release.
Hardware/Software Cloth/Soft-Body
* Collisions between cloth/soft bodies and heightfields with positive thickness (or verticalExtent) do not work correctly.