|
|

Last Updated:
07
/
17
/
2008
NVIDIA PhysX Release Notes
NVIDIA PhysX SDK 2.8.1
30th March 2008
What's New In NVIDIA PhysX 2.8.1
General
API changes
- The following parameters and related methods have been added for joints.
- NxJointDesc::solverExtrapolationFactor (see below)
- NxJointDesc::useAccelerationSpring (see below)
- NxJoint::setSolverExtrapolationFactor()
- NxJoint::getSolverExtrapolationFactor()
- NxJoint::setUseAccelerationSpring()
- NxJoint::getUseAccelerationSpring()
- NX_SJF_PERPENDICULAR_DIR_CONSTRAINTS flag has been added for spherical joints (see below)
- NX_IMPROVED_SPRING_SOLVER has been added to enum NxParameter (see below)
- The following parameters and related methods have been added for pruning structures.
- NxSceneDesc::dynamicTreeRebuildRateHint (see below)
- NxScene::setDynamicTreeRebuildRateHint()
- NxScene::getDynamicTreeRebuildRateHint()
- NxSceneDesc::backgroundThreadPriority has been added (see below)
- NxBodyFlag NX_BF_POSE_SLEEP_TEST has been removed
Hardware/Software Rigid Bodies
- Synchronous scene queries are now batched as well, i.e., you need to call NxSceneQuery::execute() to process the queries in synchronous mode. See NxSceneQuery documentation for details.
- An extra parameter has been added for joints to increase the solver convergence. See NxJointDesc::solverExtrapolationFactor in the documentation for details.
- An extra parameter has been added for joints to enable acceleration based springs. Acceleration based springs do not take the mass of the attached objects into account. See NxJointDesc::useAccelerationSpring in the documentation for details.
- A new flag for spherical joints has been added to constrain movements along directions perpendicular to the distance vector of the two anchor points. See NxSphericalJointFlag in the documentation for details.
- An improved version of the spring solver has been introduced. For legacy purposes you can disable the improved solver using the NxParameter NX_IMPROVED_SPRING_SOLVER. See documentation on NxParameter for details.
- An extra parameter has been added to NxSceneDesc to set the rebuild rate of dynamic AABB tree pruning structures. See NxSceneDesc::dynamicTreeRebuildRateHint in the documentation for details.
- The priority of SDK background threads can now be set by the user. Please note: So far the background threads ran in low priority, now the default is normal priority. See NxSceneDesc::backgroundThreadPriority in the documentation for details.
Vista Readyness
AGEIA PhysX hardware is an unclassified device according to Microsoft's hardware driver classification and certification process. The certification available to unclassified hardware is WHQL (Windows Hardware Quality Labs) signing. The hardware drivers provided in this release are WHQL signed for both Vista 32bit and Vista 64bit as well as for Windows XP 32bit and 64bit.
By NVIDIA's understanding of the Vista Certification process for applications, applications using the 2.8.1 runtimes will be able to obtain Vista Certification. We are continuing to work with Microsoft to clarify any potential issues which may arise for applications using the NVIDIA PhysX runtimes.
Supported Platforms
Runtime
- Software Runtime for Microsoft Windows XP (32bit and
64bit editions; Pentium III / Athlon XP and higher
only)
- Software Runtime for Microsoft Windows Vista (32bit and 64bit
editions; Pentium III / Athlon XP and higher only)
- AGEIA PhysX Hardware Runtime for Microsoft Windows XP
(32bit and 64bit editions; Pentium III / Athlon XP and higher only)
- AGEIA PhysX Hardware Runtime for Microsoft Windows
Vista (32bit and 64bit editions; Pentium III / Athlon XP and higher only)
- Microsoft XBox360 (see below for development tools versions)
- Sony Play Station 3 (provided by Sony)
Development
- Microsoft Windows XP
- Microsoft Visual Studio .NET 2005
- Microsoft XBox360 development tools:
- November 2007 XDK (v6534)
- Other versions of the XDK might be supported by request
- Sony Playstation 3 development tools
Hardware/Software Rigid Bodies
- Reusing joint configurations from previous SDK versions might result in different behaviour of joint springs. We recommend to increase the spring coefficients in these cases to retune the joints. If this is not possible then use the NxParameter NX_IMPROVED_SPRING_SOLVER to get the old simulation behaviour. Note: The old simulation model will not be supported for much longer.
- There is an inconsistency between the unit of the force based contact report threshold (NxBodyDesc::contactReportThreshold) and the unit of the contact force that gets returned by contact reports (NxContactPair::sumNormalForce). Setting the force threshold to a value t will lead to contact reports for contact forces larger than t/dt instead of t where dt is the simulation time step NxSceneDesc::maxTimestep. This will be corrected in the next major release. In the meantime we recommend to multiply the desired contact force threshold with the simulation time step NxSceneDesc::maxTimestep to get consistent contact forces.
Please also see the previous lists from 2.8.0 and earlier.
What's New In AGEIA PhysX 2.8.0
General
- Volumetric force fields have been introduced for cloth, soft bodies, fluids and rigid bodies. Please see the User's
Guide for more information.
- The character controller source code is now distributed (see further below).
- The debug build has been replaced by a checked build. The purpose of this build is to provide more detailed debugging information to the user. In particular there are additional tests to ensure the validity of user input.
- Profiling is now enabled in the release and checked build by default.
- The training programs are not available any longer. Have a look at the sample programs to see how the PhysX SDK features are used.
- A new runtime installer, called a Game Installer, is now available for 3rd party distribution. The intent of this installer is to allow for developers to include the AGEIA PhysX runtime system and hardware driver without having to include the full AGEIA PhysX System Software with their installs. Please see the developers support website for details.
- Rocket is not supported any longer.
- Microsoft Visual Studio .NET 2003 is not supported any longer. The supported development tools are listed in the section Supported Platforms.
API changes
- NxForceField and other force field related classes/structures have been redesigned. Among the other classes the following force field related properties/methods have been added. See the documentation for more information.
- NX_FORCE_FIELD_CUSTOM_KERNEL_EPSILON in enum NxParameter
- NxActorDescBase::forceFieldMaterial
- NxClothDesc::forceFieldMaterial
- NxSoftBodyDesc::forceFieldMaterial
- NxFluidDescBase::forceFieldMaterial
- NxActor::setForceFieldMaterial()
- NxActor::getForceFieldMaterial()
- NxCloth::setForceFieldMaterial()
- NxCloth::getForceFieldMaterial()
- NxSoftBody::setForceFieldMaterial()
- NxSoftBody::getForceFieldMaterial()
- NxFluid::setForceFieldMaterial()
- NxFluid::getForceFieldMaterial()
- NxScene::createForceFieldLinearKernel()
- NxScene::releaseForceFieldLinearKernel()
- NxScene::createForceFieldShapeGroup()
- NxScene::releaseForceFieldShapeGroup()
- NxScene::createForceFieldVariety()
- NxScene::releaseForceFieldVariety()
- NxScene::createForceFieldMaterial()
- NxScene::releaseForceFieldMaterial()
- NxScene::setForceFieldScale()
- NxScene::getForceFieldScale()
- NxClothMeshDesc::weldingDistance added (see below)
- NxClothMeshFlags::NX_CLOTH_MESH_WELD_VERTICES added (see below)
- The following cloth and soft body flags were added to disable continuous collision detection with dynamic actors
- NX_CLF_DISABLE_DYNAMIC_CCD in enum NxClothFlag
- NX_SBF_DISABLE_DYNAMIC_CCD in enum NxSoftBodyFlag
- The following classes and member functions were added to support event notification for cloth and soft bodies in future releases. Please note that these features are not supported yet.
- NxClothUserNotify
- NxSoftBodyUserNotify
- NxSceneDesc::clothUserNotify
- NxSceneDesc::softBodyUserNotify
- NxScene::setClothUserNotify()
- NxScene::getClothUserNotify()
- NxScene::setSoftBodyUserNotify()
- NxScene::getSoftBodyUserNotify()
- The following properties/methods were added to adjust the behavior of cloth or soft body with respect to the movement of attached shapes (see below)
- NX_CLF_ADHERE in enum NxClothFlag
- NX_SBF_ADHERE in enum NxSoftBodyFlag
- NxClothDesc::minAdhereVelocity
- NxSoftBodyDesc::minAdhereVelocity
- NxCloth::setMinAdhereVelocity()
- NxCloth::getMinAdhereVelocity()
- NxSoftBody::setMinAdhereVelocity()
- NxSoftBody::getMinAdhereVelocity()
- NxSoftBody::setSplitPairData(), NxSoftBody::getSplitPairData() added to set/get the user buffer for the split tetrahedra data after the soft body has been created
- NxImplicitScreenMesh, NxImplicitScreenMeshDesc and the following list of related methods have been removed (see below)
- NxFluid::createScreenSurfaceMesh()
- NxFluid::releaseScreenSurfaceMesh()
- NxFluid::getNbScreenSurfaceMeshes()
- NxFluid::getScreenSurfaceMeshes()
- NxScene::createImplicitScreenMesh()
- NxScene::releaseImplicitScreenMesh()
- NxScene::getNbImplicitScreenMeshes()
- NxScene::getImplicitScreenMeshes()
- NX_FF_FORCE_STRICT_COOKING_FORMAT added to the enum NxFluidFlag but not supported yet. NxScene::cookFluidMeshHotSpot() has been adjusted accordingly. See the documentation for more details.
- NxFluid::addParticles() has been extended (see below)
- NxFluid::setCurrentParticleLimit(), NxFluid::getCurrentParticleLimit() have been added (see below)
- The following new fluid parameter and its related methods have been added for future use but are not supported yet
- NxFluidDescBase::surfaceTension
- NxFluid::setSurfaceTension()
- NxFluid::getSurfaceTension()
- The following new fluid parameter and its related methods have been added to restrict fluid particle movement to a plane (see below)
- NX_FF_PROJECT_TO_PLANE in enum NxFluidFlag
- NxFluidDescBase::projectionPlane
- NxFluid::setProjectionPlane()
- NxFluid::getProjectionPlane()
- The following fluid parameters and the related methods have been renamed or added for future functionality (see below)
- NxFluidDescBase::staticCollisionRestitution renamed to NxFluidDescBase::restitutionForStaticShapes
- NxFluidDescBase::dynamicCollisionRestitution renamed to NxFluidDescBase::restitutionForDynamicShapes
- NxFluidDescBase::staticCollisionAdhesion renamed to NxFluidDescBase::dynamicFrictionForStaticShapes
- NxFluidDescBase::dynamicCollisionAdhesion renamed to NxFluidDescBase::dynamicFrictionForDynamicShapes
- NxFluidDescBase::staticCollisionAttraction renamed to NxFluidDescBase::attractionForStaticShapes
- NxFluidDescBase::dynamicCollisionAttraction renamed to NxFluidDescBase::attractionForDynamicShapes
- NxFluidDescBase::staticFrictionForStaticShapes added but not yet supported
- NxFluidDescBase::staticFrictionForDynamicShapes added but not yet supported
- NxFluid::setStaticCollisionRestitution() renamed to NxFluid::setRestitutionForStaticShapes()
- NxFluid::getStaticCollisionRestitution() renamed to NxFluid::getRestitutionForStaticShapes()
- NxFluid::setDynamicCollisionRestitution() renamed to NxFluid::setRestitutionForDynamicShapes()
- NxFluid::getDynamicCollisionRestitution() renamed to NxFluid::getRestitutionForDynamicShapes()
- NxFluid::setStaticCollisionAdhesion() renamed to NxFluid::setDynamicFrictionForStaticShapes()
- NxFluid::getStaticCollisionAdhesion() renamed to NxFluid::getDynamicFrictionForStaticShapes()
- NxFluid::setDynamicCollisionAdhesion() renamed to NxFluid::setDynamicFrictionForDynamicShapes()
- NxFluid::getDynamicCollisionAdhesion() renamed to NxFluid::getDynamicFrictionForDynamicShapes()
- NxFluid::setStaticCollisionAttraction() renamed to NxFluid::setAttractionForStaticShapes()
- NxFluid::getStaticCollisionAttraction() renamed to NxFluid::getAttractionForStaticShapes()
- NxFluid::setDynamicCollisionAttraction() renamed to NxFluid::setAttractionForDynamicShapes()
- NxFluid::getDynamicCollisionAttraction() renamed to NxFluid::getAttractionForDynamicShapes()
- NxFluid::setStaticFrictionForStaticShapes() added but not yet supported
- NxFluid::getStaticFrictionForStaticShapes() added but not yet supported
- NxFluid::setStaticFrictionForDynamicShapes() added but not yet supported
- NxFluid::getStaticFrictionForDynamicShapes() added but not yet supported
- The following properties/methods were added in regards to the extended contact event mechanism (see below)
- NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD, NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD, NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD in enum NxContactPairFlag
- NX_NOTIFY_ALL in enum NxContactPairFlag extended to include the force based contact flags (see above)
- NxBodyDesc::contactReportThreshold
- NxActorDescBase::contactReportFlags
- NxActor::setContactReportThreshold()
- NxActor::getContactReportThreshold()
- NxActor::setContactReportFlags()
- NxActor::getContactReportFlags()
- NxContactPair::isDeletedActor has been added (see below)
- NxActor::recomputeAdaptiveForceCounters() has been removed. It was introduced as a workaround for a known issue which has been fixed in this release.
- NxActor::updateMassFromShapes() returns now a boolean specifying whether the operation was successful
- Enum NxBroadPhaseType and the following list of related properties have been added:
- NxSceneDesc::bpType
- NxSceneDesc::nbGridCellsX
- NxSceneDesc::nbGridCellsY
- The following scene parameter and its related methods have been added to control the spawning of rigid body solver threads (see below)
- NxSceneDesc::solverBatchSize
- NxScene::setSolverBatchSize()
- NxScene::getSolverBatchSize()
- Enum NxShapeCompartmentType and the following list of related properties/methods have been added:
- NxShapeDesc::nonInteractingCompartmentTypes
- NxShape::setNonInteractingCompartmentTypes()
- NxShape::getNonInteractingCompartmentTypes()
- NX_VISUALIZE_COLLISION_SAP has been removed from the enum NxParameter
- Deprecated flag NX_CF_USE_LEGACY_COOKER has been removed from the enum NxConvexFlags
- NX_ARRAY_TRIANGLES_REMAP has been added to the enum NxInternalArray (see below)
- NxMat33 and NxMat34 have additional versions of the following set/get methods to access the matrix data. These new methods ensure correct behavior when the user passes a 2-dimensional data array as argument. See the documentation for more details.
- NxMat33::setColumnMajor()
- NxMat33::getColumnMajor()
- NxMat33::setRowMajor()
- NxMat33::getRowMajor()
- NxMat33::setColumnMajorStride4()
- NxMat33::getColumnMajorStride4()
- NxMat33::setRowMajorStride4()
- NxMat33::getRowMajorStride4()
- NxMat34::setColumnMajor44()
- NxMat34::getColumnMajor44()
- NxMat34::setRowMajor44()
- NxMat34::getRowMajor44()
- NxVec3::setNotUsed() and NxVec3::isNotUsed() have been removed
Hardware/Software Rigid Bodies
- Contact reports can now be requested on a per-actor basis. See the User Guide for more information.
- A new contact-reporting mechanism has been introduced which filters out impacts whose force is below a configurable per-actor threshold. See the User Guide for more information.
- The member NxContactPair::isDeletedActor has been introduced to check whether the actor references provided in the user contact reports are valid. See NxContactPair::isDeletedActor in the documentation for more details.
- All options for the D6 joint are now supported in hardware scenes.
- The previously deprecated flag NX_CF_USE_LEGACY_COOKER has been removed.
- An alternative broadphase algorithm has been introduced. See NxSceneDesc::bpType in the documentation for more details.
- For triangle meshes a map from internal to external triangle indices can now be extracted using the new flag NxInternalArray::NX_ARRAY_TRIANGLES_REMAP.
- The height field functionality of triangle meshes has been deprecated and will no longer be supported. See NxTriangleMeshDesc in the documentation for more details.
- A new scene parameter has been introduced to give the user more control over the spawning of rigid body solver threads when multi threading is enabled (NX_SF_ENABLE_MULTITHREAD). See NxSceneDesc::solverBatchSize in the documentation for more details.
- The object limit for the broadphase in an un-restricted scene is now 64k shapes (previously 64k actors).
Hardware Scene Manager(HSM)
- Shapes can now be marked to suppress interactions with certain types of compartments. See NxShapeDesc::nonInteractingCompartmentTypes in the documentation for more details.
Hardware/Software Soft Bodies
- The behavior of soft bodies which are attached to shapes can be adjusted with a new parameter. See NxSoftBodyDesc::minAdhereVelocity in the documentation.
- A new flag NX_SBF_DISABLE_DYNAMIC_CCD was introduced to disable continuous collision detection with dynamic actors.
Hardware/Software Cloth
- The cooking format for cloth meshes has been changed. Please note that this new format is not backwards compatible. You need to cook old cloth meshes again to make them work with the current version of the SDK.
- The behavior of cloth which is attached to shapes can be adjusted with a new parameter. See NxClothDesc::minAdhereVelocity in the documentation.
- A new flag NX_CLF_DISABLE_DYNAMIC_CCD was introduced to disable continuous collision detection with dynamic actors.
- The option to automatically "weld" close vertices together in a cloth mesh has been added through the new "weldingDistance" member of the NxClothMeshDesc class. This is useful when you have duplicated vertices in a cloth mesh in order to handle multiple texture coordinates, but want to simulate them all as the same cloth particle. The feature is only enabled if the flag NX_CLOTH_MESH_WELD_VERTICES is set.
- Software cloth compartment is now supported.
Hardware/Software Fluids
- Fluids are now supported on PS3 and XBOX 360.
- New plane projection feature. All particles can be constraint to a configurable plane: NxFluidFlag::NX_FF_PROJECT_TO_PLANE, NxFluidDesc::projectionPlane.
- NxFluid::addParticles() now appends new particle data to the user particle write buffer. Available packet data and fluid bounds are immediately updated according to the new particles. Furthermore, the user can now specify whether the particle ids should be appended to the user buffer instead of replacing the existing data.
- The limit on the number of particles can now be adjusted dynamically within the initially defined bounds. See NxFluid::setCurrentParticleLimit() in the documentation for more details.
- Support for implicit surface generation for fluids has been removed.
- Fluid collision coefficients have been renamed, in order to support future functionality. E.g. NxFluidDesc::dynamicCollisionAdhesion is now named NxFluidDesc::dynamicFrictionForDynamicShapes. The first appearence of "dynamic" depicts the nature of the friction. In this case particles having a relative velocity to the collision object, which is greater zero, are affected. The second appearance of "dynamic" depicts to which category of objects the friction is applied. In this case fluid collision with dynamic objects is affected.
Force Fields
- The force field feature has been considerably restructured. See the User Guide for more information.
Character Controller
- The character controller is now distributed as source, hence, users can modify the code to create their own customized version.
Samples
- The code for the cloth sample has been updated to make use of the SDK vertex welder functionality.
- The force field sample has been adjusted to account for the redesigned force field feature.
Rocket
- Rocket is not supported any longer.
Vista Readyness
AGEIA PhysX hardware is an unclassified device according to Microsoft's hardware driver classification and certification process. The certification available to unclassified hardware is WHQL (Windows Hardware Quality Labs) signing. The hardware drivers provided in this release are WHQL signed for both Vista 32bit and Vista 64bit as well as for Windows XP 32bit and 64bit.
By AGEIA's understanding of the Vista Certification process for applications, applications using the 2.8.0 runtimes will be able to obtain Vista Certification. We are continuing to work with Microsoft to clarify any potential issues which may arise for applications using the AGEIA PhysX runtimes.
Supported Platforms
Runtime
- Software Runtime for Microsoft Windows XP (32bit and
64bit editions; Pentium III / Athlon XP and higher
only)
- Software Runtime for Microsoft Windows Vista (32bit and 64bit
editions; Pentium III / Athlon XP and higher only)
- AGEIA PhysX Hardware Runtime for Microsoft Windows XP
(32bit and 64bit editions; Pentium III / Athlon XP and higher only)
- AGEIA PhysX Hardware Runtime for Microsoft Windows
Vista (32bit and 64bit editions; Pentium III / Athlon XP and higher only)
- Microsoft XBox360 (see below for development tools versions)
- Sony Play Station 3 (provided by Sony)
- Software Runtime on Linux: Debian Etch, Ubuntu 7.10, RedHat ES4. Other Linux distributions may work but are not tested
Development
- Microsoft Windows XP
- Microsoft Visual Studio .NET 2005
- Microsoft XBox360 development tools:
- November 2007 XDK (v6534)
- Other versions of the XDK might be supported by request
- Sony Playstation 3 development tools
- Linux, gcc 3.3 and greater
Hardware/Software Rigid Bodies
- Please note that deleting an actor does not immediately increase the number of actors you can create. A simulation step is necessary to get the additional capacity for deleted actors. Keep this in mind when operating near the actor limit and running into troubles with actor creation.
Hardware Scene Manager(HSM)
- Enabling interactions with a previously disabled compartment type for a shape (NxShape::setNonInteractingCompartmentTypes()) does not work for objects which lie close to the shape. These close objects will not start to interact with the shape unless they are removed and re-added to the scene.
Hardware/Software Cloth
- Pressure simulation in conjunction with a damping coefficient of 1.0 results in inconsistent cloth behavior.
- The amount of tearing within cloth mesh patches is limited in HW. This may lead to inconsistent
behavior between SW and HW during excessive tearing events. Specify tear lines during cloth creation to prevent this.
Tools
- The Visual Remote Debugger (VRD) will not display Force Fields or their parameters.
Please also see the previous lists from 2.7.3 and earlier.
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:
- NxCapsuleControllerDesc::climbingMode
- NxCapsuleController::setClimbingMode()
- NxCapsuleController::getClimbingMode()
- Enum NxClothVertexAttachmentStatus has been added.
- NxCloth has been extended with new vertex functionality and wind acceleration:
- NxCloth::dominateVertex()
- NxCloth::getVertexAttachmentStatus()
- NxCloth::getVertexAttachmentShape()
- NxCloth::getVertexAttachmentPosition()
- NxCloth::getPosition() / NxCloth::setPosition()
- NxCloth::getVelocity() / NxCloth::setVelocity()
- NxCloth::getWindAcceleration() / NxCloth::setWindAcceleration()
- NxClothDesc::windAcceleration
- Enum NxForceFieldType and the following list of related properties/methods have been added:
- NxForceFieldDesc::fluidType
- NxForceFieldDesc::clothType
- NxForceFieldDesc::softBodyType
- NxForceFieldDesc::rigidBodyType
- NxForceField::getFluidType() / NxForceField::setFluidType()
- NxForceField::getClothType() / NxForceField::setClothType()
- NxForceField::getSoftBodyType() / NxForceField::setSoftBodyType()
- NxForceField::getRigidBodyType() / NxForceField::setRigidBodyType()
- NxForceField::getScene() has been added
- NxHeightField::getThickness(), NxHeightFieldDesc::thickness has been added
- NxSoftBody has been extended with new vertex functionality:
- NxSoftBody::getPosition() / NxSoftBody::setPosition()
- NxSoftBody::getVelocity() / NxSoftBody::setVelocity()
- NxUtilLib has a number of new functions:
- NxSweepBoxCapsule()
- NxSweepBoxSphere()
- NxSweepCapsuleCapsule()
- NxSweepSphereCapsule()
- NxSweepBoxBox()
- NxSweepBoxTriangles()
- NxSweepCapsuleTriangles()
- NxPointOBBSqrDist()
- 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.
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.
Please also see the previous lists
from 2.7.2 and earlier.
What's New In AGEIA PhysX 2.7.2
General
- Volumetric force fields have been introduced for cloth, soft bodies, fluids and rigid bodies. Please see the User's
Guide for more information.
API changes
- NxActor::setDominanceGroup, NxActorDesc::dominanceGroup added (see below)
- NxScene::setDominanceGroupPair, ::getDominanceGroupPair added (see below)
- Force field effectors have been removed from the API (NxEffector::isForceFieldEffector and NX_EFFECTOR_FORCE_FIELD)
- NxForceField, NxForceFieldDesc classes added. Also NxScene::createForceField, releaseForceField, getNbForceFields and getForceFields.
- NxForceFieldShape, NxForceFieldShapeDesc classes added.
- NxBoxForceFieldShape, NxBoxForceFieldShapeDesc classes added.
- NxSphereForceFieldShape, NxSphereForceFieldShapeDesc classes added.
- NxCapsuleForceFieldShape, NxCapsuleForceFieldShapeDesc classes added.
- NxConvexForceFieldShape, NxConvexForceFieldShapeDesc classes added.
- New SDK parameters: NX_VISUALIZE_FORCE_FIELDS, NX_VISUALIZE_CLOTH_VALIDBOUNDS, NX_VISUALIZE_CLOTH_SLEEP_VERTEX,
NX_VISUALIZE_SOFTBODY_VALIDBOUNDS, NX_VISUALIZE_SOFTBODY_SLEEP_VERTEX, NX_ASYNCHRONOUS_MESH_CREATION.
- NxParticleUpdateData members added: numUpdates, bufferId, bufferIdByteStride.
- NxCloth::saveStateToStream has a new bool parameter "permute" (see below)
- NxClothDesc::relativeGridSpacing and NxCloth::getRelativeGridSpacing added.
- NxSoftBody::saveStateToStream has a new bool parameter "permute" (see below)
- NxSoftBodyDesc::relativeGridSpacing and NxSoftBody::getRelativeGridSpacing added.
- NxScene::cookFluidMeshHotspot has a new parameter "compartment".
- NxScene has a new parameter "extLink". NOTE: Reserved; do not use.
- NxCloth has a new method "AddDirectedForceAtPos" (see below).
- NxCloth::attachToCore has a new parameter "maxDeformationDistance" (see below).
- NxConvexMesh and NxTriangleMesh have a new method, "getMassInformation" (see below).
Hardware/Software Rigid Bodies
- Dominance groups have been added, allowing flexible one-way interaction schemes to be implemented.
- Custom actor pair filtering is now supported. See "Broad Phase Collision Detection" in the User's Guide.
- You can now use NxTriangleMesh::getMassInformation and NxConvexMesh::getMassInformation to retrieve the mass
and inertia of triangle and convex meshes without first putting them in an actor.
Hardware Scene Manager(HSM)
- Actor and shape flags are now propagated properly to mirrored shapes in compartments. Previously
the flags were only copied when first mirroring the shape.
Hardware/Software Soft Bodies
- It is now possible to affect the scale of the collision grid used for soft bodies,
via the relativeGridSpacing descriptor member.
- Visualization of softbody valid bounds added.
- NxSoftBody::saveStateToStream has a new bool parameter "permute". Use this to reorder
the vertices to correspond to the cooked soft body mesh if necessary.
Hardware/Software Cloth
- NxCloth::saveStateToStream has a new bool parameter "permute". Use this to reorder the
vertices to correspond to the cooked cloth mesh if necessary.
- It is now possible to affect the scale of the collision grid used for cloth,
via the relativeGridSpacing descriptor member.
- NxCloth::addForceAtPos also works for metal cloth now
- NxCloth has a new "AddDirectedForceAtPos" method, which allows you to add a force at an arbitrary
position, like with AddForceAtPos but in one arbitrary direction rather than radially.
- NxCloth::attachToCore has a new "maxDeformationDistance" parameter, which makes it possible to limit the
distance the cloth particles move from their initial positions.
- Metal cloth updates and sleeping were improved.
- Visualization of cloth valid bounds added.
Hardware/Software Fluids
- Implicit screen meshes have been deprecated and will no longer be supported.
Performance
- AGEIA PerfViewer - A PhysX runtime event collector with configurable filters; plus a graphical viewer of
event times, durations and synchronizations for optimization and harmonization; plus physics entity counts for
additional performance analysis and tuning when scaling simulations.
- An experimental SDK flag, NX_ASYNCHRONOUS_MESH_CREATION, allows you to disable the write locks otherwise
instituted on all scenes while creating meshes. This can improve parallelism but may have side-effects.
Serialization
- Fixed incorrect SDK parameter serialization when building NxuStream against PhysX version 2.6.4
- Several problems with active cloth serialization eliminated. Note: Active state cloth serialization
may be incompatible with previous versions.
- The problems that occured when omitting default values have been eliminated.
- Compartments are handled differently in certain circumstances; see new documentation in the User's Guide,
under Tools->Serialization.
- It is no longer possible to load XML created by the old NxuStream code that was provided with SDK versions
2.6.0 and earlier. Files created with the newer NxuStream are still cross-version compatible.
Samples
- New 'SampleOneWayInteractions' hoverboard game for one way interactions feature.
- New 'SampleForceField' demos for the force field features.
Hardware/Software Rigid Bodies
- Actors that are only precisely touching may have trouble falling asleep. See "numerical considerations"
int the User's Guide, under Actor->Sleeping.
- When shapes' poses are updated by the application directly, their broad phase bounds are not automatically updated until the next
simulate call. This may cause incorrect results for API calls like overlap tests or cloth attachment. You can workaround
this by deferring such relocations until after tests are performed.
Hardware Scene Manager(HSM)
- Shape filtering does not work for mirrored shapes in compartments.
Serialization
- Members of the NxPhysicsSDK descriptor are not saved on serialization.
- Active state serialization is currently not supported for metal cloth
or torn cloth.
- Binary serialized file format will have changed.
Miscellaneous
- Scene stats for the actor count may be incorrect when compartments mirror main scene objects.
Please also see the previous lists
from 2.7.1 and earlier.
What's New In AGEIA PhysX 2.7.1
General
- 2.7.1 is a bug-fix release.
- Introduced two new thread priorities: NX_TP_BELOW_NORMAL and NX_TP_ABOVE_NORMAL.
- Scenestats2 for compartments are no longer summed up, but instead presented separately (though in the same array).
- Let user set processor affinity for all SDK threads. Worker and background thread affinity masks are now also implemented on the PC platform.
API changes
- Introduced two new thread priorities: NX_TP_BELOW_NORMAL and NX_TP_ABOVE_NORMAL.
- Continuous collision detection can be enabled per-compartment using NX_CF_CONTINUOUS_CD.
- Hardware broad phase can be enabled per-compartment using NX_CF_RESTRICTED_SCENE.
- Added NxScene::getFlags() to retrieve scene flags.
- Added NxCompartmentDesc::threadMask to let user set affinity mask for compartment threads.
- Added NxPhysicsSDK::cookerThreadMask to let user set affinity mask for cooking thread.
- Added NxSceneDesc::simThreadMask to let user set affinity mask for scene thread.
- Added NxThread::setAffinityMask to let user set affinity mask for threads.
- Added NxArray::deleteEntry to allow for the removal of a given element.
Hardware/Software Rigid Bodies
- Hardware mesh/convex collision algorithm improved.
- Group operation now transferred properly to mirrored shapes.
- WheelShape: Added contact correlation in default mode and clamped friction mode to reduce low speed drifting.
Hardware Scene Manager(HSM)
Hardware/Software Soft Bodies
- Soft bodies made less sensitive to large density ratios across attachments.
- A bug with sleep callbacks for kinematics was fixed.
- Hardware memory usage was optimized.
Hardware/Software Cloth
- Cloth made less sensitive to large density ratios across attachments.
- Two-way interaction with Fluids was improved.
- Hardware memory usage was optimized.
Hardware/Software Fluids
- A bug causing jitter for resting particles fixed.
Serialization
- Heightfield data now properly serialized in XML.
- Particle flags now serialized properly.
- Group and groups mask now serialized properly for fluids.
- Cooked mesh data now serialized properly.
Serialization
- The dynamic state of cloth metal is not fully serializable.
- Torn cloth cannot be serialized.
- Not saving defaults may currently produce erratic results.
Hardware/Software Cloth/Soft-Body
- Support for the NX_SF_DISABLE_RESPONSE shape flag has been removed for cloth/soft-bodies.
Please also see the previous lists
from 2.7.0 and earlier.
What's New In AGEIA PhysX 2.7.0
General
- Some deprecated visualization parameters have been
removed from the NxParameter enum.
Hardware/Software Rigid Bodies
- The cooking format for triangle and convex meshes has
been changed. Please note that this new format is not
backwards compatible anymore. If you would like to
reuse old cooked mesh files, utilize the cooked mesh converter tool to
convert these files to the new format.
- It is possible to batch scene queries, see
NxSceneQuery documentation.
- Legacy support for NX_MIN_SEPARATION_FOR_PENALTY has
been removed.
Use NX_SKIN_WIDTH instead, with a value of
-0.5f*NX_MIN_SEPARATION_FOR_PENALTY.
- There are two new flags to control the NxWheelShape
functionality, see NxWheelShapeFlags.
- Added support for restitution setting on joint-limit
planes.
- The profiler now exposes a number of named profile zones
using NxProfileData::getNamedZone() that are always be available.
- The result of overlapAABBTriangles() is now returned
through a callback method.
- XBox360 Optimizations and Fixes:
- Solver prefetching and cache optimizations to
the VMX solver.
- Optimization of static and dynamic shape
raycasts.
- Additional VMX optimizations for stackless
tree traversals(triangle meshes)
- Thread race condition fixes when allocating
tasks
Hardware Scene Manager(HSM)
- It is now possible to retrieve the results of
specific compartments while the others are still
simulating, see NxSimulationStatus and
NxCompartment::fetchResults().
- Software cloth simulation is only supported in the
primary scene. As a result, attempts to create CPU
cloth compartments will fail.
- Compartments may use their own substepping settings rather than
inheriting these from the primary scene.
- Compartments now have a time scaling feature that lets
time elapse in different compartments at different rates.
- The HSM source code is no longer a dependency of HW source code.
Hardware/Software Soft Bodies
Hardware/Software Cloth
- Most getter functions of NxCloth (and NxSoftBody) can
now safely be called between NxScene::simulate() and
NxScene::fetchResults(). Exceptions are:
getPositions(), getVelocities(), getStateByteSize(),
and getShapePointers().
- Cloth self-collision has been optimized.
- Collision handling between cloth and triangle meshes
has been improved.
- There is a dirty flag for each buffer in NxMeshData
that indicates if the buffer content was modified
(see NxMeshDataDirtyBufferFlags).
- NxClothMeshDesc::target has been removed. It was obsolete
since cloth mesh cooking was unified in 2.6.3.
- More range checks and warnings have been added to setter
functions of NxCloth (and NxSoftBody).
- The arguments to NxCloth::addForceAtPos() have been cleaned
up. The force vector has been replaced by a scalar magnitude.
- An experimental two-way interaction with Fluids has
been added (see NX_CLF_FLUID_COLLISION flag).
Hardware/Software Fluids
- It is now possible:
- To affect particles with forces and delete
specific particles each simulation step, see
the documentation for
NxFluid::updateParticles(...)
- To immediately retrieve the IDs of added
particles, since the fluid no longer buffers
particle creation. See documentation on
NxFluid::addParticles(...) and
NxFluidDesc::particleCreationIdWriteData.
- For several fluids within a scene to
share the same memory, if they have the same
number of maxParticles and only some are simulated
at the same time (useful when e.g. keeping some fluids
sleeping because they are not visible).
- To listen for fluid events through the new
event notification interface,
NxFluidUserNotify, which gives events
regarding the fluid simulation.
- To reserve space for a specified number of
new fluid particles for each simulation step,
see NX_FF_PRIORITY_MODE.
- To retrieve information about fluid packets,
see NxFluid::getFluidPacketData().
- To query collision normals for fluid particles, if NX_FF_COLLISION_TWOWAY is not set,
see NxFluidData::bufferCollisionNormal.
- Redundant information was removed from NxParticleData
and NxParticleIdData.
- An experimental two-way interaction with Cloth and
SoftBody has been added.
- Fluid surface generation is not supported anymore.
Tools
Serialization
- Serialization revised to support soft bodies.
- Helper functions added to retrieve key/value pairs from user properties
- EZ-mesh graphics file support added
- Notification events provided when saving a physics collection
- Support for endian modes reading and writing binary assets
- Added utility function to auto-generate CCD skeletons for physics collections
- !NOTE! Currently cloth and soft bodies will not serialize reliably once they have been simulated. It is best to serialize them in their intial state.
Vista Readyness
AGEIA PhysX hardware is an unclassified device according to Microsoft's hardware driver classification and certification process. The certification available to unclassified hardware is WHQL (Windows Hardware Quality Labs) signing. The hardware drivers provided in this release are WHQL signed for both Vista 32bit and Vista 64bit as well as for Windows XP 32bit and 64bit.
By AGEIA's understanding of the Vista Certification process for applications, applications using the 2.7.0 runtimes will be able to obtain Vista Certification. We are continuing to work with Microsoft to clarify any potential issues which may arise for applications using the AGEIA PhysX runtimes.
Supported Platforms
Runtime
- Software Runtime for Microsoft Windows XP (32bit and
64bit editions; Pentium III / Athlon XP and higher
only)
- Software Runtime for Microsoft Windows Vista (32bit and 64bit
editions; Pentium III / Athlon XP and higher only)
- AGEIA PhysX Hardware Runtime for Microsoft Windows XP
(32bit and 64bit editions; Pentium III / Athlon XP and higher only)
- AGEIA PhysX Hardware Runtime for Microsoft Windows
Vista (32bit and 64bit editions; Pentium III / Athlon XP and higher only)
- Microsoft XBox360 (see below for development tools versions)
- Sony Play Station 3 (provided by Sony)
Development
- Microsoft Windows XP
- Microsoft Visual Studio .NET 2003
- Microsoft Visual Studio .NET 2005
- Microsoft XBox360 development tools:
- October 2006 XDK (v4314)
- October 2006 XDK (v4802)
- December 2006 XDK (v4929.1)
- Sony Playstation 3 development tools
Linux
We at AGEIA are continuing to develop our Linux port of our SDK and PhysX runtime libraries. At this time, we estimate our Linux port will be available for testing in a future point release of the 2.7 SDK.
Hardware/Software Cloth
- Triangle meshes and heightfields do not work correctly as cloth drains.
- Changing the NX_SF_CLOTH_DRAIN flag after shape creation does not work correctly.
- Metal cloth does not yet support cloth drains/valid bounds.
- Two-way attachments between actors and cloth become instable when
their densities greatly differ.
Hardware/Software Soft Bodies
- Soft bodies do not yet support soft body drains/valid bounds.
- Two-way attachments between actors and soft bodies become instable when
their densities greatly differ.
Hardware/Software Cloth/Soft Body - Fluid Interaction
- In this early version, the collision
detection is performed on the host and the response
has to be transferred back to the PPU which makes it
potentially slow.
- In this early version, each piece of
cloth / soft body generates its own hash table. Thus,
memory consumption increases linearly with the number
of cloths / soft bodies.
- For best performance, switch fluid
collision on in one or very few cloths / rigid
bodies.
Please also see the previous lists
from 2.6.3 and earlier.
What's New In AGEIA PhysX 2.6.3
General
- This is a bugfix release.
Hardware/Software Cloth
-
Many behavior inconsistencies between HW and SW cloth have been fixed. Robustness of the
HW cloth implementation has improved a lot.
-
Cloth mesh cooking has been unified under a single cooking target NX_CLOTH_MESH_UNIVERSAL
which can be used to create both SW and HW cloth instances. The targets NX_CLOTH_MESH_SOFTWARE
and NX_CLOTH_MESH_PPU_ATHENA are obsolete.
-
Cloth particles within drain shapes (NX_SF_CLOTH_DRAIN), or outside the bounds specified
via setValidBounds()and the NX_CLF_VALIDBOUNDS flag, are automatically removed from the simulation.
-
Many issues were fixed related to cloth attachments and collision filtering.
-
Normals are now correctly computed when cloth is initially asleep.
-
Collisions of cloth with rotated height fields are now properly handled.
Performance
- A few new SDK warnings have been added for
inefficient or behavior-degrading usage of the API.
- Some new performance-related scene statistics have
been included in the NxSceneStats2 class.
Documentation
- A new User guide page explaining the connection
between shapes, compounds and actors has been added.
- Some minor additions and fixes.
Supported Platforms
Runtime
- Software Runtime for Microsoft Windows XP (32bit and
64bit editions; Pentium III / Athlon XP and higher
only)
- Software Runtime for Microsoft Windows Vista (32bit
edition; Pentium III / Athlon XP and higher only)
- AGEIA PhysX Hardware Runtime for Microsoft Windows XP
(32bit and 64bit editions)
- AGEIA PhysX Hardware Runtime for Microsoft Windows
Vista (32bit and 64bit editions)
- Microsoft XBox360
- Sony Play Station 3 (provided by Sony)
- Software Runtime for SuSE Enterprise Linux 10.0
(alpha release; 32bit and 64bit editions; Pentium III
/ Athlon XP and higher only)
- Software Runtime for Red Hat Enterprise Linux WS 4.0
(alpha release; 32bit and 64bit editions; Pentium III
/ Athlon XP and higher only)
Development
- Microsoft Windows XP
- Microsoft Visual Studio .NET 2003
- Microsoft Visual Studio .NET 2005
- Microsoft XBox360 development tools
- Sony Playstation 3 development tools
- SuSE Enterprise Linux 10.0 (alpha release)
- Red Hat Enterprise Linux 4.0 WS (alpha release)
Below is a list of new issues and limitations; this is an
addition to the list from 2.6.2.
Hardware/Software Rigid Bodies
- The information returned by getPairFlagArray is not
complete.
Release Notes - AGEIA PhysX SDK
2.6.2
27th October 2006
What's New In AGEIA PhysX 2.6.2
Hardware/Software Rigid Bodies
- NxInitCooking() now saves the previous allocator and
output stream references on a stack and reads them
back when NxCloseCooking() is called. See API docs on
NxInitCooking().
- Contact callbacks for wheel shapes now work properly.
- Hardware triangle mesh collision algorithms have been
improved.
Hardware/Software Fluids
- Fluids can now run in software mode with
complete feature set (PC Windows).
Hardware/Software Cloth
- Cloth visualization has been added to the Visual
Remote Debugger.
Hardware Scene Manager(HSM)
- Shapes in compartments are now properly counted when
getting the count from the master scene.
Performance
- Performance of hardware triangle mesh collision has
been futher improved.
- A new, expanded scene statistics API has been added,
called NxSceneStats2, from which a number of useful
statistics about the physics simulation may be
extracted.
- Warning output via NxUserOutputStream now includes
many performance-related warnings.
- A FW resource leak, which could cause degraded
collision detection after extended periods of heavy
activity, has been eliminated.
Serialization
- Serialization of CCD skeletons now works properly.
Documentation
- The Guide information on serialization has been
revised.
- Several minor fixes and updates.
Tools
- Cloth visualization has been added to the Visual
Remote Debugger.
Supported Platforms
Runtime
- Software Runtime for Microsoft Windows XP (32bit and
64bit editions; Pentium III / Athlon XP and higher
only)
- Software Runtime for Microsoft Windows Vista (32bit
edition; Pentium III / Athlon XP and higher only)
- AGEIA PhysX Hardware Runtime for Microsoft Windows XP
(32bit and 64bit editions)
- AGEIA PhysX Hardware Runtime for Microsoft Windows
Vista (32bit and 64bit editions)
- Microsoft XBox360
- Sony Play Station 3 (provided by Sony)
- Software Runtime for SuSE Enterprise Linux 10.0
(alpha release; 32bit and 64bit editions; Pentium III
/ Athlon XP and higher only)
- Software Runtime for Red Hat Enterprise Linux WS 4.0
(alpha release; 32bit and 64bit editions; Pentium III
/ Athlon XP and higher only)
Development
- Microsoft Windows XP
- Microsoft Visual Studio .NET 2003
- Microsoft Visual Studio .NET 2005
- Microsoft XBox360 development tools
- Sony Playstation 3 development tools
- SuSE Enterprise Linux 10.0 (alpha release)
- Red Hat Enterprise Linux 4.0 WS (alpha release)
Known Issues And Limitations
Below is a list of new issues and limitations; this is an
addition to the list from 2.6.0.
Hardware/Software Rigid Bodies
- In firmware, long thin dynamic objects colliding with
highly tessellated triangle meshes may exhibit
artifacts due to mesh chunk size constraints.
- Releasing and then creating huge numbers of actors
without intervening simulate calls may deplete memory
resources and cause a crash.
Hardware Scene Manager(HSM)
- In default, the primary scene is running in parallel
with compartments for best performance. But it might
potentially influence the stability of some
features under some situations. A NxScene flag
NX_SF_SEQUENTIAL_PRIMARY can be used to
turn this default configuration off in order
to trade off stability with performance.
Release Notes - AGEIA PhysX SDK
2.6.1
20th October 2006
What's New In AGEIA PhysX 2.6.1
General
- This is a bugfix release.
Hardware Fluids
- Hardware fluids performance is further improved.
- A bug fix in firmware.
Hardware Cloth
- A potential crash bug due to an initialization error
is fixed.
Hardware Scene Manager(HSM)
- Now primary scene is run in parallel with
compartments.
- The interactions between fluids and non-kinematic
dynamic rigid body is disabled.
- Bug fixes in HSM.
Supported Platforms
Runtime
- Software Runtime for Microsoft Windows XP (32bit and
64bit editions; Pentium III / Athlon XP and higher
only)
- Software Runtime for Microsoft Windows Vista (32bit
edition; Pentium III / Athlon XP and higher only)
- AGEIA PhysX Hardware Runtime for Microsoft Windows XP
(32bit and 64bit editions)
- AGEIA PhysX Hardware Runtime for Microsoft Windows
Vista (32bit and 64bit editions)
- Microsoft XBox360
- Sony Play Station 3 (provided by Sony)
- Software Runtime for SuSE Enterprise Linux 10.0
(alpha release; 32bit and 64bit editions; Pentium III
/ Athlon XP and higher only)
- Software Runtime for Red Hat Enterprise Linux WS 4.0
(alpha release; 32bit and 64bit editions; Pentium III
/ Athlon XP and higher only)
Development
- Microsoft Windows XP
- Microsoft Visual Studio .NET 2003
- Microsoft Visual Studio .NET 2005
- Microsoft XBox360 development tools
- Sony Playstation 3 development tools
- SuSE Enterprise Linux 10.0 (alpha release)
- Red Hat Enterprise Linux 4.0 WS (alpha release)
Release Notes - AGEIA PhysX SDK
2.6.0
28th September 2006
What's New In AGEIA PhysX 2.6
Hardware/Software Rigid Bodies
- There is a new joint projection mode,
NX_JPM_LINEAR_MINDIST, that uses only linear
projection for improved performance.
- A new stack overflow protection scheme is in place,
where too-large stack allocations are replaced by
heap allocations when needed. If heap allocations are
suddenly causing a slowdown, the threshold for this
fallback can be set using
NxFoundationSDK::setAllocaThreshold().
- Fixed: Raycasts missing on the exact boundary of a
heightfield.
- Fixed: Filtering does not work correctly with HSM.
- Fixed (SW): DistanceJoint will not work properly when
attachment points coincide in worldspace.
- Fixed: No contacts generated in Capsule-Capsule
collision when capsule segments intersect.
- Fixed: No contacts generated in capsule-convex
collision when capsule penetrates convex.
- Fixed: CCD collision response in FW scenes.
Hardware Fluids
- Fluid collision improvements including support for a
collision distance between fluid particles and rigid
body geometry which is maintained during the
simulation
(NxFluidDesc::collisionDistanceMutliplier).
- A new method, NxScene::cookFluidMeshHotspot, allows
for preparing static mesh, height field and convex
shapes for fluid collision, preventing on-the-fly
cooking.
- More information about particles including particle
flags, IDs and notifications for particle
creations/deletions.
- New runtime switches for degrading simulation
fidelity on heavy system load.
- Fluids emitters are now attached to shapes not
actors.
- A new scene flag
NxSceneFlags::NX_SF_FLUID_PERFORMANCE_HINT. If set,
fluid performance increases. However, static geometry
is considered one simulation step late, which can
cause particles to leak through static geometry
potentially under certain conditions.
Hardware/Software Cloth
- Cloth metal - a combination of deformable cloth and
nondeformable rigid body, useful for sheet metal and
similar objects. This mode can be activated by
attaching a piece of cloth to a rigid body via the
NxCloth::attachToCore method.
- Cloth self collision is now implemented and can be
activated by means of
NxClothFlag::NX_CLF_SELFCOLLISION.
Hardware Scene Manager(HSM)
- The HSM now uses Compartments, allowing the
utilization of multiple PhysX cards in future
versions.
- The interface of the HSM has been completely revised.
Performance
- The performance of some scenes with many kinematic
actors and/or a lot of broadphase activity has been
improved.
- Fluid collision performance improved, especially for
dynamic convex shapes.
Serialization
- A new serialization library has been introduced
called NxuStream
- This is a source code library with an easy to use
interface.
- SampleAssetExport and SampleSceneExport demonstrate
how to use this library.
- It is now possible to serialize to and from an XML
file format, as a high speed binary file, and in
COLLADA 1.4.1 physics.
Documentation
- Many small corrections and fixes for the user guide
and API reference.
- Information in the User's Guide pertaining to
hardware has been concentrated in one place.
- User guide documentation for:
- Compartments
- Training programs
- Cloth Metal
Installer
- The client installers have been replaced by a single
client installer. This installer is based on the
MSI/WISE installer which was distributed in the past.
There is no longer an NSIS based installer.
Supported Platforms
Runtime
- Software Runtime for Microsoft Windows XP (32bit and
64bit editions; Pentium III / Athlon XP and higher
only)
- Software Runtime for Microsoft Windows Vista (32bit
edition; Pentium III / Athlon XP and higher only)
- AGEIA PhysX Hardware Runtime for Microsoft Windows XP
(32bit and 64bit editions)
- AGEIA PhysX Hardware Runtime for Microsoft Windows
Vista (32bit and 64bit editions)
- Microsoft XBox360
- Sony Play Station 3 (provided by Sony)
- Software Runtime for SuSE Enterprise Linux 10.0
(alpha release; 32bit and 64bit editions; Pentium III
/ Athlon XP and higher only)
- Software Runtime for Red Hat Enterprise Linux WS 4.0
(alpha release; 32bit and 64bit editions; Pentium III
/ Athlon XP and higher only)
Development
- Microsoft Windows XP
- Microsoft Visual Studio .NET 2003
- Microsoft Visual Studio .NET 2005
- Microsoft XBox360 development tools
- Sony Playstation 3 development tools
- SuSE Enterprise Linux 10.0 (alpha release)
- Red Hat Enterprise Linux 4.0 WS (alpha release)
Known Issues And Limitations
Hardware/Software Rigid Bodies
- Objects may not get woken if they lose contact but
their bounds still overlap.
- Objects may have difficulty falling asleep if they
have alternating bounds overlaps with non sleeping
bodies.
- Joint projection may cause instability in the D6
joint.
- joints may pull off each other when the mass
relationship is not properly set up
- joints' behavior may differ when actors are in very
small size.
- The software broadphase imposes a limit of 256k
pairs.
Hardware Fluids
- Dynamic fluid - mesh shape collision isn't supported
anymore.
- Dynamic convex shapes are limited to 64 planes for
fluid collision. If a convex consists of more than 64
planes, only the first 64 planes are taken into
consideration for collision. If this is the case it
may happen that particles collide with the axis
aligned bounding box of the convex shape.
- If fluid particles are located more than
32768*NxFluidDesc::kernelRadiusMultiplier/NxFluidDesc::restParticlesPerMeter
units far from the world origin, collision and SPH
computations will fail.
- If particles get trapped between two dynamic rigid
bodies, they jitter within the penetration depth of
the rigid bodies.
- Switching from no-particle-interaction mode to mixed
mode or even sph mode can cause instabilities in the
simulation.
- Fluids have a limit on the packet number. It's 1024.
- Max 4096 new Particles per time step can be added by
the function of NxFluid::addParticles().
- 16 Mbytes are reserved on the PPUs external memory
for cooked static collision geometry for fluids. If
this is exceeded during runtime collision geometry is
dropped and a debug message "Hardware heap ran
out of memory" is generated. The call
NxScene::cookFluidMeshHotspot can't cause this, since
it only cooks data and doesn't transfer the data to
the PPUs external memory yet.
- If more than 8192 static triangles are located in the
range of a fluid packet, triangles will be dropped. A
debug message is generated in this case.
Hardware/Software Cloth
- A self-collision enabled cloth can still intersect
itself due to high relative velocities of cloth
particles, small cloth thickness, multiple collisions
with other objects or user interaction.
- Untangling is not yet supported.
- Collision handling between different pieces of cloth
is not yet supported.
- Supported core bodies for cloth metal are boxes,
spheres, capsules and compounds of spheres.
- The metal deformation is penetration based. This
means that if the rigid body solver leaves a big
penetration, the result looks more dramatic. Thus, in
some range, the deformation is not predictable.
However, the cloth is moved towards the colliding
body by the penetrationDepth parameter at an impact
so the penetration just varies around this value.
- The metal core actor's geometry is adjusted
automatically. Its size also depends on the cloth
thickness. Thus, it is recommended to choose small
values for the thickness in metal mode.
- In general, metal cloth works well for close to
convex shapes like barrels. For more complex objects
like entire cars we recommend to decompose the
objects into simpler parts.
- Attaching a low density actor to cloth in
NX_CLOTH_ATTACHMENT_TWOWAY mode can cause unstable
simulation.
- When the density of object collision with cloth is
too high, the objects can easily penetrate cloth,
even in very low speed.
- In some cases a cloth can slip through a concave
corner or a valley edge during mesh or terrain
collisions. (Workaround: Increase the cloth's
thickness or bending stiffness)
Hardware Scene Manager(HSM)
- dynamic triangle meshes are not supported anymore.
- Objects in compartments are not visualized.
- Hardware objects from different hardware compartments
do not interact (i.e., cloth and rigid).
Serialization
- COLLADA does not retain all of the physics data in
our SDK. It will not retain heightfields, wheel
shapes, CCD information, cloth, fluids, or a number
of other items that are not in the COLLADA 1.4.1
specification.
Installers
- The AGEIA PhysX SDK must be installed to run samples
as they rely on DLLs contained within the main SDK
installer.
Windows Device Driver
Tools
- There is currently no support for content creation
tools in the Linux SDK release.
Release Notes - AGEIA PhysX SDK
2.5.1
17th August 2006
What's New In AGEIA PhysX 2.5.1
General
- The NxPhysicsSDK object is now reference counted, and
thus all
NxCreatePhysicsSDK()/NxCreatePhysicsSDKWithID() calls
should be matched with an NxReleasePhysicsSDK() call.
Hardware/Software Rigid Bodies
Windows Device Driver
- Microsoft Windows XP 32bit and 64bit now supported.
Allows for 32bit software which use AGEIA PhysX
hardware to run on Microsoft Windows XP 64bit.
Supported Platforms
Runtime
- Software Runtime for Microsoft Windows XP (32bit and
64bit editions)
- Software Runtime for Microsoft Windows Vista (32bit
edition)
- AGEIA PhysX Hardware Runtime for Microsoft Windows XP
(32bit and 64bit editions)
- AGEIA PhysX Hardware Runtime for Microsoft Windows
Vista (32bit edition)
- Microsoft XBox360
- Sony Play Station 3 (provided by Sony)
Development
- Microsoft Windows XP
- Microsoft Visual Studio .NET 2003
- Microsoft XBox360 development tools (August 2006 XDK
v3529)
- Sony Playstation 3 development tools
Known Issues And Limitations
Below is a list of new issues and limitations; this is an
addition to the list from 2.5.0.
Windows Device Driver
- Since the AGEIA PhysX Properties Control Panel Applet
is a 32-bit DLL, it does not appear in the Control
Panel automatically under 64-bit Windows. The user
must enable 32-bit Control Panel icons for it to
appear.
Hardware/Software Rigid Bodies
- If shapes are added to an actor containing a single
triangle mesh shape in a HW scene, collisions with
the triangle mesh shape will no longer work. The
problem lies in the transition from single shape
actor to a compound, which means that compound actors
can be created with triangle mesh shapes either by
specifying all shapes directly in the descriptor, or
by making sure that the triangle mesh is never the
only shape in the actor.
Release Notes - AGEIA PhysX SDK
2.5.0
30th June 2006
What's New In AGEIA PhysX 2.5
Hardware/Software Rigid Bodies
- Sweep API - Allows swept shape queries against a
scene.
- Active Transform Notification - Provides a list of
actors which have been updated.
- Sleep Events - Provides a notification when an actor
wakes up or goes to sleep.
- Kinetic Energy Based Sleeping - An improved criteria
for deciding if an actor should sleep. This is now
the default.
- Reduced overhead for sleeping actors.
- Contact Modification - A callback is provided which
allows the user to modify contacts between the near
phase and solver.
- Fine grained threading is now enabled on the PC -
parallel near phase and solver.
- Version Controlled Cooking - Cooking is now versioned
along with the runtime.
- New/Delete has been cleaned up in many places and all
calls should now go through the user supplied memory
allocator.
- Adaptive force improvements - The adaptive force
optimization is now only applied to groups of objects
which are in contact with a static object, for
example a stack resting on the floor.
- The ratio property of a pulley joint is a force ratio
rather than a distance ratio.
- The gear ratio of joints take into account the
inertial properties of the bodies involved. This
affects the way forces are propagated.
- All joint types and collision primitives have
software fall backs in hardware scenes.
- Full contact callbacks and modifiable contacts
available in HW scenes, but with substantial
performance overhead.
- Up to 64K shapes, 64K bodies, and 64K D6 joints may
be created in hardware scenes (but note the
limitation below concerning active object counts.)
Hardware Fluids
- Fluid surfaces allow triangle meshes surfaces to be
generated for fluids on the PPU. Basic fluid surface
feature set includes:
- Depth smoothing
- Multiple fluid surfaces associated with
fluids
- User defined particles supported
- Two Way Interaction - Fluids can now exert a force on
a rigid body.
- NX_FF_ENABLED flag added - This allows simulation to
be enabled and disabled for fluids. By default the
flag is set. When turning the flag off (on NxFluid),
the next fluid step is not carried out. Particles are
not copied to the user buffers
- NX_SF_FLUID_DRAIN_INVERTED - Removed for performance
reasons. There are workarounds to get the same
effect.
Hardware/Software Cloth
- Basic feature set:
- stretching and bending resistance
- two way rigid body interaction
- attachments
- damping and friction
- tearing
- pressure
Hardware Scene Manager(HSM)
- Two way hardware rigid body and cloth interaction.
- Two way fluid and rigid body interaction.
- One way managed rigid body versus primary scene rigid
body interaction, including:
- Software material table mirrored to the managed
scenes.
- Software static meshes are paged to managed scenes.
- Group based filtering mirrored to the managed scenes.
- Ray cast results include query performed against
managed scenes.
Performance
- Sleeping objects are much faster, not consuming any
CPU in 2.5
- New friction model in 2.5 is somewhat faster, showing
up in stacking scenarios
- Anisotropic friction, per-triangle materials and
terrain height fields run somewhat slower than in 2.4
- All joint types but the D6 run somewhat slower in 2.5
- Hardware rigid body scenes consume more CPU cycles
than in 2.4
- Running a scene on multiple threads now consumes
memory proportional to the number of threads
concurrently within the SDK rather than the number of
threads which have entered the SDK since creation.
- Xbox 360 Optimization:
- VMX128 rigid body constraint solver.
- VMX128 cloth solver.
- VMX128 optimizations to box-box, convex-mesh
and convex-convex collision detection.
- VMX128 midphase optimization for sphere-mesh,
capsule-mesh, OBB-mesh
- VMX128 some small optimization for CCD.
- PlayStation3 PPU only version significantly faster
due to changes in Vector library.
Rocket
- Updated interface using menu items in addition to
onscreen buttons.
- Support for Cloth
- Support for Fluids
- Support for NxUStream
- (For details, see the Rocket documentation included
in the Tools Installer)
Installers
- With the high/low level split in the SDK, the source
code installer will not contain sources for low level
components
- 2.5.0 includes a tools installer. For beta and
beyond, it will include Rocket, a 3DStudio Max plugin
and a Maya plugin.
- Tool developers can now specify the version of
cooking they want to use.
- Applications no longer need to include the
PhysXLoader (that is now in the System32 folder)
Documentation
- Many small corrections and fixes for the user guide
and API reference.
- User guide and API reference documentation for:
- Fluid surfaces
- Contact modification callback
- Sweep tests
- Active transform notification
- Sleep events
- Hardware scene manager
- Cloth tearing and pressure
- Mesh auto paging
- Updates to the tutorials and samples pages.
Windows Device Driver
- Support for PCIExpress Cards
Supported Platforms
Runtime
- Software Runtime for Microsoft Windows XP (32bit
editions)
- AGEIA PhysX Hardware Runtime for Microsoft Windows XP
(32bit editions)
- Microsoft XBox360
- Sony Play Station 3 (provided by Sony)
Development
- Microsoft Windows XP
- Microsoft Visual Studio .NET 2003
- Microsoft Visual Studio .NET 2005 (not supported,
project files only)
- Microsoft XBox360 development tools
- Sony Playstation 3 development tools
Known Issues And Limitations
Hardware/Software Rigid Bodies
- Joint types other than D6, spherical and revolute are
partially simulated in software.
- For HW D6 joints, Only angular orientation drive
& linear position drive are supported, i.e.
slerp drive & velocity drive are not supported.
- Wheel shape and joint parameters may need tweaking
due to solver changes.
- Spherical and revolute joint behavior may differ from
2.4.
- All joint break limits are specified as a maximum
impulse and might need to be adjusted.
- User break notification now reports an impulse which
is clamped to the break impulse.
- The friction model has changed. It should now be
somewhat stiffer. In addition friction is applied as
soon as a contact is created.
- Mesh-Mesh collision detection is always performed in
software(in particular PMaps).
- Mesh based height field collisions and height field
collisions are performed in software.
- Wheel shapes are simulated in software.
- Mesh and height field collisions are performed in
software if the mesh/height field has multiple
materials defined.
- Anisotropic friction is partially performed in
software.
- User contact reports and contact modification have
quite a large performance hit.
- The result of sweep tests which are initially
penetrating is currently undefined.
- Only boxes and capsules are supported by the sweep
API as swept objects. (spheres are emulated as
capsules of zero length).
- Sweep tests against planes, wheel shapes, and height
fields are not supported.
- All sweep tests are synchronous(NX_SF_ASYNC is not
supported).
- Trigger shapes do not take part in CCD (Continuous
Collision Detection).
- The methods isSleeping() and isGroupSleeping() now
return the same value.
- Contact forces are not reported unless
NX_NOTIFY_FORCES is set
- Scene statistics no longer report the number and
maximum number of contacts, axis constraints or
solver bodies
- Hardware rigid body scenes support at most 4K active
bodies. The following additional restrictions are
expected to be removed or significantly alleviated
during beta: at most 8K active shapes (shapes whose
pose is linked to active bodies), 4K active joints,
and 4K software fall back constraints. Note: these
are counts for active objects, sleeping objects are
not included in the limits.
- The hardware broad phase supports at most 4080
actors. Broad phase runs in hardware only if the
NX_SF_RESTRICTED_SCENE flag is set on the scene.
Otherwise broad phase runs in software even in
hardware scenes, and there are no size restrictions.
- Joint pose projection is not hardware accelerated
- Hardware convexes are limited to 32 vertices and 32
faces. Convexes will fallback to software above these
limits.
Hardware Fluids
- Maximum of 32767 particles per fluid.
- Only limited fluid surface depth smoothing is
supported in hardware with filter size = 3.
- Silhouette smoothing for fluid surfaces is not
supported in hardware.
- Fluid surface resolution is limited to no more than
256x256, so in the initial state, if the resolution
is beyond the limitation,
NxImplicitScreenMeshDesc::isValid() will give an
assert error. But if this resolution is changed
during application program running, it will be
automatically clamped to the maximum value.
- Quadtree hierarchy mesh is not supported in hardware
for fluid surfaces.
- Two way interaction may be unstable with resting
particle-RB-contacts.
- If the fluid hits packets which contain a high
triangle density, fluid mesh cooking on the host
might become the bottleneck. However there is logic
to prevent detailed cooking when the load is too
high. Also cooking is now taking place in a separate
thread, which removes frame rate hick ups.
Hardware/Software Cloth
- Convexes up to 120 planes
- Only cloth particle collision detection (no cloth
triangle collision detection)
- < 1024 attached particles per cloth (limit might
be removed before release)
- < 1024 colliding shapes (limit might be removed
before release)
- Wild movement of the cloth in connection with high
bending stiffness can get the cloth into an entangled
state. It looks like the cloth would locally stick to
itself. This is a local self collision issue.
Workaround: reduce bending stiffness.
- Squeezing cloth between rigid bodies can cause
jittering. Workaround: reduce cloth thickness.
- For small meshes (< 256 vertices) it is more
efficient to merge several of them into one cloth
than creating a cloth instance for each individual
mesh. These meshes do not need to be connected (e.g.
multiple leaves of a plant).
Hardware Scene Manager(HSM)
- Only group based collision reports are supported by
the HSM.
- Only a single managed hardware scene is supported by
the HSM.
- Effectors between hardware actors are not supported.
- Actor and Shape pair flags not supported by the HSM.
- Scene stats for hardware objects controlled by the
HSM are not supported.
- Hardware rigid bodies do not exhibit two way
interaction with software objects under the HSM.
- Hardware objects from separate scenes do not
interact(e.g. rigid body, cloth, fluids) under the
HSM.
- Dynamic height fields mirrored into the cloth and
fluid scenes will only supply 64 triangles, the rest
will be silently dropped.
- Shapes mirrored into the slave scene(cloth, rigid
body, fluids) will not be updated until they are
mirrored/un-mirrored. This means if you change a
shape property(e.g. sphere radius) the hardware
objects will not be updated.
- In the hardware rigid body scene only dynamic objects
are mirrored to the software scene.
Rocket
Installers
- The AGEIA PhysX SDK must be installed to run samples
as they rely on DLLs contained within the main SDK
installer.
Windows Device Driver
Release Notes - AGEIA PhysX SDK
2.4.0
23rd February 2006
AGEIA PhysX SDK Build Component
What's New?
- Documentation and Samples for new features.
- A number of smaller documentation corrections and
clarifications.
Platforms Supported
Development:
- Microsoft Windows XP (32bit editions)
- Microsoft Visual Studio .NET 2003
- Microsoft Visual Studio .NET 2003 with the XBox360
development kit.
Not Supported for Development:
- Microsoft Windows XP x64 Edition (and all other 64bit
editions)
- Microsoft Visual Studio .NET 2005 (project files not
provided / not tested)
- Microsoft Visual C++ 6 (project files not provided / not
tested)
Known Issues and Limitations
- The AGEIA PhysX SDK Build Component and AGEIA PhysX
Software Runtime Component must be installed to run
samples and training programs, since they rely on DLLs
contained within the runtime component.
Version
2.4.0
AGEIA PhysX Software Runtime Component
What's New?
- Dynamic vs Dynamic CCD support
- Support for heightfield shapes
- User thread control.
- Fine grained threading of the simulation(available only
on XBox360)
- Additional overlap tests for shapes
- Hardware scene manager, allows fluids to interact with
rigid bodies.
Platforms Supported (Runtime)
- Microsoft Windows XP (32bit editions)
- Microsoft XBox 360
- Sony PlayStation3 (provided by Sony)
Known Issues and Limitations
- The AGEIA PhysX SDK must be installed to run samples as
they rely on DLLs contained within the main SDK
installer.
Version
2.4.0
Hardware Rigid Bodies (AGEIA PhysX Driver)
What's New?
- Many optimizations and Bug fixes.
- D6 joint support. The D6 supports the following features:
breaking and signaling, angular orientation drive and
gears,
- The simulation no longer locks up on firmware crashes.
Instead a flag passed to fetchResults () which is set on
an error.
- A new error reporting tool allows the driver to record
the simulation state leading up to a crash to allow
analysis and bug fixing.
Platforms Supported (Runtime)
- Microsoft Windows XP (32bit editions) with an AGEIA PhysX
Card
Known Issues and Limitations
- There is a limit of 2048 D6 joints per scene.
- Only angular D6 drives are supported. All other types of
drive are not supported.
- D6 joint pose projection is disabled.
Version
2.4.0
Hardware Fluids (AGEIA PhysX Driver)
What's New?
- The AGEIA PhysX SDK now has a hardware scene manager,
which allows fluids to be created in a software scene.
The hardware scene manager takes care of mesh cooking and
mirroring actors into the hardware scene.
- Support for more dynamic shapes in a fluid scene: convex
mesh, box, capsule, sphere
- The following unimplemented API calls have been removed:
- NX_FF_MESH_INCLUDE_SEPARATED
- void NxFluid::setCollisionGroup(NxCollisionGroup
group);
- NxU32 NxFluid::getCollisionGroup();
- NxImplicitMesh* NxFluid::createSurfaceMesh(const
NxImplicitMeshDesc& mesh);
- void NxFluid::releaseSurfaceMesh();
- NxImplicitMesh* NxFluid::getSurfaceMesh();
- NxFluid::getDynamicActorReactionSmoothing ()
- NxFluid::setDynamicActorReactionSmoothing(NxReal
smooth)
- NxFluid::getDynamicActorReactionScaling()
- NxFluid::setDynamicActorReactionScaling(NxReal
scale)
- NxFluid::setOnSeparationAction
(NxFluidParticleAction action, bool val)
- NxFluid::getOnSeparationAction(NxFluidParticleAction
action)
- NxFluid::setOnCollision(NxFluidParticleAction
action, bool val)
- NxFluid::getOnCollision(NxFluidParticleAction
action)
- NxFluid::setOnLifetimeExpired(NxFluidParticleAction
action, bool val)
- NxFluid::getOnLifetimeExpired(NxFluidParticleAction
action)
- typedef NxU16 NxFluidGroup;
- void NxFluid::setFluidGroup(NxFluidGroup group)
- NxU32 NxFluid::getFluidGroup()
- NxU32 NxFluidDesc::onSeparation;
- NxU32 NxFluidDesc::onCollision;
- NxU32 NxFluidDesc::onLifetimeExpired;
- NxReal NxFluidDesc::dynamicActorReactionSmoothing
;
- NxReal NxFluidDesc::dynamicActorReactionScaling;
- NxReal NxFluidDesc::collisionGroup;
- class NxImplicitMesh
- void NxPhysicsSDK::setFluidGroupPairFlags()
- NxPhysicsSDK::getFluidGroupPairFlags()
- NxScene::setUserFluidContactReport()
- NxScene:: getUserFluidContactReport()
- NxImplicitMesh * NxScene::createImplicitMesh();
- Void NxScene::releaseImplicitMesh();
- NxScene::getNbImplicitMeshes
- NxImplicitMesh** NxScene::getImplicitMeshes()
- class NxUserFluidContactReport
- NxFluidCollisionMethod::NX_F_DYNAMIC_ACTOR_REACTION
Platforms Supported (Runtime)
- Microsoft Windows XP (32bit editions) with an AGEIA PhysX
Card
Known Issues and Limitations
- The maximum number of capsules are limited to 1024 in a
scene.
- The maximum number of boxes in a scene is limited to
1024.
- Spheres are emulated as capsule of zero height, so they
share the same limitation as capsules.
Version
2.4.0
Cloth
What's New?
- Software only cloth support (see the user guide for
further details)
- Collision filtering.
- Support for tearing and pressure.
Platforms Supported (Runtime)
- Microsoft Windows XP (32bit editions)
- Microsoft XBox 360
Known Issues and Limitations
- A cloth can bend too much and get stuck in itself.
Workaround: use less bending stiffness or variate the
bending stiffness over time.
Version
2.4.0
Tools
What's New?
- NxuStream- Support for serialization of the physical
scene. Supported formats include binary, Ascii(write
only) and Collada
- Visual Remote Debugger - View the physical representation
used by a game in real time and gather statistics and
profiling information.
Platforms Supported (Runtime)
- Microsoft Windows XP (32bit editions)
- Microsoft XBox 360
- Sony PlayStation3 (provided by Sony)
Known Issues and Limitations
- NxuStreamdoes not import Collada files created with other
libraries correctly.
- Visual Remote Debugger connections must be enabled
immediately after initializing the SDK, otherwise the
connection is likely to fail (because object creation
data, etc, is lost). For example:
// Create Physics SDK ...
gPhysicsSDK->getFoundationSDK().getRemoteDebugger()->connect ("localhost", 5425);
- Reading profiler data at the same time the Visual Remote
Debugger is connected is not supported. Profiler data
will not be returned to the user when they call
NxScene::readProfileData() if the debugger is connected.
Version
2.4.0
Release Notes - AGEIA PhysX SDK
2.3.2
6th January 2006
AGEIA PhysX SDK Build Component
What's New?
- It is no longer possible for end users to load
PhysXCore.dll from the application directory. The correct
version is now loaded by PhysXLoader from "Program
Files\Ageia Technologies"
- Installer improvements.
- Fixes to sample project files.
- Foundation.lib included with the XBox 360 installer.
- Lots of documentation improvements.
Platforms Supported
Development:
- Microsoft Windows XP (32bit editions)
- Microsoft Visual Studio .NET 2003
- Microsoft Visual Studio .NET 2003 with the XBox360
development kit. Not Supported for Development:
- Microsoft Windows XP x64 Edition (and all other 64bit
editions)
- Microsoft Visual Studio .NET 2005 (project files not
provided / not tested)
- Microsoft Visual C++ 6 (project files not provided / not
tested)
Known Issues and Limitations
- The AGEIA PhysX SDK Build Component and AGEIA PhysX
Software Runtime Component must be installed to run
samples and training programs, since they rely on DLLs
contained within these components.
Version
2.3.2
AGEIA PhysX Software Runtime Component
What's New?
- Improved convex hull generation algorithm(the old method
is still available using a flag)
- Character controller fixes.
- Fix for distance joints not being breakable.
- Additional overlap/intersection queries.
- Fix for performance issues related to SSE denormal
handling on some machines.
Platforms Supported (Runtime)
- Microsoft Windows XP (32bit editions)
- Microsoft XBox 360
- Sony PlayStation3 (provided by Sony)
Known Issues and Limitations
- When statically linked(for example on XBox360) calling
NxInitCooking() overwrites parameters set when calling
NxCreatePhysicsSDK(). For example the error stream is
reset. This occurs because the variables are shared when
statically linked.
Workaround: Supply the same parameters to NxInitCooking()
and NxCreatePhysicsSDK()
- In some cases convex hull generation can fail for
degenerate input.
Workaround: Supply geometry without degenerate sets of
points (edges and planes). Use the legacy convex hull
generation(see NX_CF_USE_LEGACY_COOKER).
Version
2.3.2
Hardware Rigid Bodies (AGEIA PhysX Driver)
What's New?
- Many bug fixes and optimizations.
- Fix getWorldBounds () for triangle mesh shapes.
- Driver error reporting in fetchResults()
Platforms Supported (Runtime)
- Microsoft Windows XP (32bit editions) with an AGEIA PhysX
Card
Known Issues and Limitations
- See the API references for details concerning which API
functions are supported.
- At most 2000 shapes can be present in a scene at once
(this includes both static and dynamic shapes).
- Precision limitations suggest that physics behavior may
not be stable or correct more than 1000 units from the
origin.
- Rigid body scenes occupy 32MB of memory on the card, so
that absolutely no more than three scenes may be present
on the card at once.
- The following is an important but non-exhaustive list of
SDK features which are not supported: joints, continuous
collision, contact notification, many debugging
visualization, contact notifications, triggers, per shape
skin width.
- Convex hulls are limited in this release to have at most
32 vertices and 32 faces.
- Using terrain meshes on hardware requires making use of
the new mesh paging API. When a mesh is cooked, it is
divided into a number of hardware pages, and these pages
must be manually moved to the card by the application for
any collision to take place.
The number of pages into which a mesh will be cooked is
variable, and will depend on the degree of local
convexity in the mesh. However, at least 500 triangles
should fit into a mesh page, and the allocation of 16MB
of mesh data supports 256 pages, which allows for the
presence of more than 100,000 triangles on the card. Note
that when a page is removed from the card, the space
occupied by that mesh page is not freed until after the
physics has been stepped. No data yet exists for the
performance of paging meshes on and off the card; however
as a baseline the raw transmission of a mesh page by DMA
requires half a millisecond.
As in the software SDK, in the absence of ATT it is easy
for thin objects to tunnel through the mesh; in
particular collisions will not be detected with objects
whose center lies beneath the mesh.
- Due to limitations of the friction model, objects sliding
on a triangle mesh may not have correct frictional
behavior. Per-triangle materials are not supported.
Version
2.3.2
Hardware Fluids (AGEIA PhysX Driver)
What's New?
- Many bug fixes and optimizations.
- Fluid scenes are created in a special hardware scene.
- Fix to intermittent crash bug when adding a mesh to a
fluid scene.
- Better input validation for the fluid mesh cooker.
- Driver error reporting in fetchResults()
- The Fluid can be configured with the new parameter
"motionLimitMultiplier". The user can define
how far a particle can travel during one timestep. This
is important for tuning the memory size consumed by the
static mesh cooked for fluid collision. The parameter
effectively limits the maximal velocity of a particle.
See the user guide for more details.
- If the user is interested in a more coarse simulation of
fluids which supports sprays and puddles, but works less
well on deep pools, he can choose this new simulation
mode which alternates the simulation between simple
particles (without inter particle forces) and SPH
simulation. See NxFluidSimulationMethod::NX_F_MIXED_MODE
and NxFluidDesc::simulationMethod in the documentation.
| |