PageRenderTime 66ms CodeModel.GetById 30ms RepoModel.GetById 0ms app.codeStats 0ms

/Core/Dependencies/PhysX-3.2.1_PC_SDK_Core/release_notes.html

https://bitbucket.org/barakianc/nvidia-physx-and-apex-in-gge
HTML | 722 lines | 609 code | 113 blank | 0 comment | 0 complexity | c4ad6abaaac68572ef79bf01b16ec3aa MD5 | raw file
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <title>Release Notes - NVIDIA PhysX SDK 3.2.1</title>
  5. </head>
  6. <body>
  7. <h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA PhysX SDK 3.2.1</h1>
  8. <h2 style="TEXT-ALIGN: center">June 2012</h2>
  9. <h2>What's New In NVIDIA PhysX 3.2.1</h2>
  10. <blockquote>
  11. <h4>General</h4>
  12. <ul>
  13. <li><i>Note: PS3 platform specific changes can be found in the PS3 readme file.</i></li>
  14. <li>Added GRB hooks for APEX 1.2.1.</li>
  15. <li>Some incorrect usages of __restrict have been fixed.</li>
  16. <li>A crash when the user's code had FPU exceptions enabled has been fixed.</li>
  17. <li>A rare crash on Win64 has been fixed.</li>
  18. <li>Removed no longer needed RapidXML library from distribution.</li>
  19. <li>Binary serialization can now save the names of actors and shapes.</li>
  20. <li>Removed a RepXUtility.h reinterpret_cast compile warning that happened on some platforms.</li>
  21. <li>Fixed a spurious overlapping read/write error report when using simulation call backs in checked builds.</li>
  22. </ul>
  23. <h4>Documentation</h4>
  24. <ul>
  25. <li>Clarified documentation regarding use of eSEND_SLEEP_NOTIFIES flag.</li>
  26. <li>Clarified documentation regarding using different CRT libraries.</li>
  27. <li>Removed some confusing statements about meta data from the documentation.</li>
  28. <li>Updated PsPool, PsSort so they can use the user allocator.</li>
  29. </ul>
  30. <h4>Mesh Cooking</h4>
  31. <ul>
  32. <li>A warning message about negative volumes in the convex mesh cooker could cause a crash.</li>
  33. <li>The convex mesh cooking has been made more robust and properly outputs some error messages that were previously missing.</li>
  34. <li>Fixed crash bug in x64 version of ClothEdgeQuadifier.</li>
  35. <li>New cooking parameter for triangle meshes buildTriangleAdjacencies can be used to build the adjacency triangle information, which you can get in getTriangle.</li>
  36. </ul>
  37. <h4>Broad Phase</h4>
  38. <ul>
  39. <li>The sdk gracefully handles the case of more than 65536 broadphase pairs and reports a warning that some contacts will be dropped in the event that this limit is exceeded. This affects all platforms except win32/win64/linux/linux64, which support a maximum number of 4294967296 pairs.</li>
  40. </ul>
  41. <h4>Collision Detection</h4>
  42. <ul>
  43. <li>Fixed a memory corruption bug in heightfield code.</li>
  44. <li>Added a flag to enable or disable contact caching, to permit users to make a performance vs memory tradeoff.</li>
  45. </ul>
  46. <h4>Rigid Bodies</h4>
  47. <ul>
  48. <li>The simultaneous raising of both the PxShapeFlag::eSIMULATION_SHAPE and PxShapeFlag::eTRIGGER_SHAPE flags is now explicitly forbidden by the sdk. If any of the two is raised then any attempt to raise the other is rejected by the sdk and an error is passed to the error stream. </li>
  49. </ul>
  50. <h4>Articulations</h4>
  51. <ul>
  52. <li>The API stubbed in 3.2.0 for applying an impulse to an entire articulation is now implemented.</li>
  53. </ul>
  54. <h4>Scene Queries</h4>
  55. <ul>
  56. <li>Resolved poor GJK sweep convergence.</li>
  57. <li>Batched queries accept sphere geometry for sweeps.</li>
  58. <li>An internal limit of 65536 objects in the scene-query subsytem has been lifted.</li>
  59. </ul>
  60. <h4>Character Controller</h4>
  61. <ul>
  62. <li>Calling reportSceneChanged() every frame now works properly.</li>
  63. <li>PhysX CCT code no longer sets PxShape::userData. </li>
  64. <li>Intersection of pairs of CCTs now uses the supplied filter data and the supplied callback prefilter. The callback postfilter is not yet hooked up.</li>
  65. <li>A bug has been fixed whereby the filterData was ignored in one of the scene queries initiated by the PhysX CCT code.</li>
  66. <li>PxController::reportSceneChanged() has been renamed to PxController::invalidateCache().</li>
  67. <li>A new helper function, PxController::resize(), has been added to facilitate character controller resizing.</li>
  68. <li>PxControllerBehaviorFlag::eCCT_CAN_RIDE_ON_OBJECT is not the default behavior anymore.</li>
  69. <li>The slope limit is only observed when walking on static convex meshes, static triangle meshes, static boxes and static heightfields. The slope limit is not observed when walking on dynamic or kinematic rigid bodies or static capsules or static spheres. This partially fixes a bug where the slope limit was inadvertently considered for shapes attached to dynamic rigid bodies and inadvertently ignored for boxes attached to static shapes.</li>
  70. </ul>
  71. <h4>Vehicles</h4>
  72. <ul>
  73. <li>The vehicle sdk now reports an error to the error stream and exits from PxVehicleUpates if PxInitVehicleSdk has not been called in advance. This avoids a divide-by-zero error that can arise if the vehicle sdk has not been initialised correctly.</li>
  74. </ul>
  75. <h4>Visual Debugger</h4>
  76. <ul>
  77. <li>SDK has two new messages for Visual Debugger, 'cloth fabric destroyed' and 'actors of joint changed'.</li>
  78. </ul>
  79. </blockquote>
  80. <h2><br>Supported Platforms</h2>
  81. <blockquote>
  82. Unchanged from <a href="#platforms320"> from 3.2</a>.
  83. </blockquote>
  84. <h2><br>
  85. <a name="knownissues321">Known Issues And Limitations</a></h2>
  86. <blockquote>
  87. Unchanged from <a href="#knownissues320"> from 3.2</a>.
  88. </blockquote>
  89. <br>
  90. <h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA PhysX SDK 3.2</h1>
  91. <h2 style="TEXT-ALIGN: center">April 2012</h2>
  92. <h2>What's New In NVIDIA PhysX 3.2</h2>
  93. <blockquote>
  94. <h4>General</h4>
  95. <ul>
  96. <li>Added migration guide page from 3.1 to 3.2 to user's guide.</li>
  97. <li>Three new sample applications: SampleCharacterCloth (character with cloth cape and cloth flags), SampleBridges (character controller walking on dynamic bridges and moving platforms), SampleCustomGravity (character controller with arbitrary up vector).</li>
  98. <li>On Windows, the PxFoundation instance is now a process wide singleton and part of the new PhysX3Common.dll library</li>
  99. <li>PxCreatePhysics() does not create a PxFoundation instance any longer. The PxFoundation instance has to be created in advance through PxCreateFoundation().</li>
  100. <li>Calls to PxCreatePhysics() are not valid anymore if a PxPhysics instance already exists.</li>
  101. <li>If profiling information should be sent to the PhysX Visual Debugger, a PxProfileZoneManager instance has to be provided when creating the PxPhysics instance.</li>
  102. <li>The version number constant PX_PUBLIC_FOUNDATION_VERSION has been replaced with PX_PHYSICS_VERSION. Both PxFoundation and PxPhysics use the same version number now.</li>
  103. <li>The API now distinguishes between input and output stream types.</li>
  104. <li>Added mechanism to reduce code size by not linking optional components. See PxCreateBasePhysics() and the PxRegister*() functions.</li>
  105. <li>Added getConcreteTypeName() to API classes to provide run time type information.</li>
  106. <li>Added PxScene::getTimestamp() to retrieve the simulation counter.</li>
  107. <li>PxGetFoundation has been moved to PxGetFoundation.h</li>
  108. <li>The signature of PxCreatePhysics has changed: The Foundation SDK instance must be passed in explicitly. One can also hook profiling information by passing a PxProfileZoneManager.</li>
  109. <li>contact data block allocation now provides statistics on usage and max usage</li>
  110. <li>On all platforms except PS3, contact data blocks can be progressively allocated</li>
  111. <li>PxExtensionVisualDebugger has been renamed to PxVisualDebuggerExt, PxExtensionsConnectionType renamed to PxVisualDebuggerConnectionFlag</li>
  112. <li>Default implementations of memory and file streams added in PxDefaultStreams.h</li>
  113. <li>Renamed PxPhysics::getMetaData() to ::PxGetSDKMetaData().</li>
  114. <li>Scene::simulate() now takes a memory block which is used for allocation of temporary data during simulation</li>
  115. <li>On Windows, CudaContextManagerDesc support appGUID now. It only works on release build. If your application employs PhysX modules that use CUDA you need to use a GUID so that patches for new architectures can be released for your game.You can obtain a GUID for your application from Nvidia.</li>
  116. </ul>
  117. <h4>Rigid Bodies</h4>
  118. <ul>
  119. <li>Introduced a new contact generation mode, see eENABLE_PCM. Note that this is an experimental feature that still shows simulation artifacts in some scenarios.</li>
  120. <li>Introduced two new friction simulation modes, see eENABLE_ONE_DIRECTIONAL_FRICTION and eENABLE_TWO_DIRECTIONAL_FRICTION.</li>
  121. <li>Introduced a new scene query flag PxSceneQueryFlag::eINITIAL_OVERLAP_KEEP to control how initial overhaps are treated in scene queries.</li>
  122. <li>Per-triangle materials have been implemented.</li>
  123. <li>Changes to material properties are automatically reflected in contact resolution.</li>
  124. <li>New helper methods to compute mass properties for a dynamic rigid body taking per shape density/mass values into account (see documentation on PxRigidBodyExt for details).</li>
  125. <li>A new set of methods for overlap, sweep and raycast tests based on PxGeometry objects has been introduced. See documentation on PxMeshQuery and PxGeometryQuery for details).</li>
  126. <li>The contact report API has changed (for details see the documentation on PxSimulationEventCallback::onContact()). Among the changes are:
  127. <ul>
  128. <li>Reports only get sent for shape pairs which request them. Previously, reports were sent for an actor pair even if the requested shape pair event was not triggered (for example because other shapes of the same actors started colliding etc.)</li>
  129. <li>The following PxPairFlags have been removed eNOTIFY_CONTACT_FORCES, eNOTIFY_CONTACT_FORCE_PER_POINT, eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT. Forces and feature indices are now always provided if applicable.</li>
  130. <li>It is much easier now to skip shape pairs or contact point information when traversing the contact report data.</li>
  131. <li>The memory footprint of contact reports has been reduced.</li>
  132. </ul>
  133. </li>
  134. <li>The members featureIndex0/1 of PxContactPoint have been renamed to internalFaceIndex0/1 for consistency.</li>
  135. <li>For trigger reports, the eNOTIFY_TOUCH_PERSISTS event has been deprecated and will be removed in the next release. For performance and flexibility reasons it is recommended to use eNOTIFY_TOUCH_FOUND and eNOTIFY_TOUCH_LOST only and manage the persistent state separately.</li>
  136. <li>Added PxConstraintVisualizer interface and code to visualize joint frames and limits.</li>
  137. <li>Improved PxBatchQuery API.</li>
  138. <li>PxPhysics::getProfileZoneManager() now returns a pointer rather than a reference.</li>
  139. <li>PxRigidDynamic::moveKinematic() has been renamed to setKinematicTarget() to underline its precise semantics.</li>
  140. <li>Added new function PxShape::getGeometry and class PxGeometryHolder to improve Geometry APIs.</li>
  141. <li>PxCreatePlane now takes a PxPlane equation as a parameter. Note that the interpretation of the distance value is negated relative to 3.1</li>
  142. <li>Added new actor creation helpers PxCloneStatic, PxCloneDynamic, PxScaleActor.</li>
  143. <li>Added new functions PxTransformFromSegment, PxTransformFromPlaneEquation to simplify creation of planes and capsules.</li>
  144. <li>added PxJoint::getConstraint() to access the underlying constraint object, from which the constraint force can be read</li>
  145. <li>Some methods of PxAggregate have been renamed for consistency or replaced for extended functionality.
  146. <ul>
  147. <li>getMaxSize() is now called getMaxNbActors().</li>
  148. <li>getCurrentSize() is now called getNbActors().</li>
  149. <li>getActor() has been replaced by getActors() which copies the actor pointers to a user buffer.</li>
  150. </ul>
  151. </li>
  152. <li>Added support for kinematic triangle meshes, planes and heighfields.</li>
  153. </ul>
  154. <h4>Scene queries</h4>
  155. <ul>
  156. <li>Dynamic AABBTree has been set as the default dynamic pruning structure.</li>
  157. </ul>
  158. <h4>Particles</h4>
  159. <ul>
  160. <li>Removed descriptors from particle API: The properties maxParticles and PxParticleBaseFlag::ePER_PARTICLE_REST_OFFSET need to be specified when calling PxPhysics::createParticleSystem() and createParticleFluid(). All other properties can be adjusted after creation through set methods.</li>
  161. </ul>
  162. <h4>Cloth</h4>
  163. <ul>
  164. <li>Added convex collision shapes, see PxCloth::addCollisionConvex()</li>
  165. <li>Added friction support, see PxCloth::setFrictionCoefficient()</li>
  166. <li>Added angle based bending constraints, see PxClothPhaseSolverConfig::SolverType::eBENDING</li>
  167. <li>Added separation constraints, a spherical volume that particles should stay outside of, see PxCloth::setSeparationConstraints()</li>
  168. <li>Added drag, see PxCloth::setDragCoefficient()</li>
  169. <li>Added inertia scaling, controls how much movement due to PxCloth::setTargetPose() will affect the cloth</li>
  170. <li>Added support for setting particle previous positions, see PxCloth::setParticles()</li>
  171. <li>Added controls for scaling particle mass during collision, this can help reduce edge stretching around joints on characters, see PxCloth::setCollisionMassScale()</li>
  172. <li>Particle data is now copied asynchronously from the GPU after simulate (rather than on demand)</li>
  173. <li>Improved fabric layout, you can now share fabric data across multiple phases to reduce memory usage, see PxClothFabric</li>
  174. <li>Fixed bug in collision when capsules are tapered at a slope > 1</li>
  175. </ul>
  176. <h4>Vehicles</h4>
  177. <ul>
  178. <li>Added PxVehicleDriveTank, a vehicle class that enables tank behaviors.</li>
  179. <li>Support for vehicles with more than 4 wheels, see PxVehicleDrive4W, PxVehicleDriveTank.</li>
  180. <li>Significant refactor of vehicle api to allow further types of vehicle to be added.</li>
  181. <li>Americal English spelling used in vehicle api.</li>
  182. <li>PxVehicle4W replaced with PxVehicleDrive4W, PxVehicle4WSimulationData replaced with PxVehicleDriveSimData4W.</li>
  183. <li>Removal of scene query helper functions and structs: PxVehicle4WSceneQueryData, PxVehicle4WSetUpSceneQuery, PxWheelRaycastPreFilter, PxSetupDrivableShapeQueryFilterData, PxSetupNonDrivableShapeQueryFilterData, PxSetupVehicleShapeQueryFilterData. See SampleVehicle_SceneQuery.h for their implementation in SampleVehicle.</li>
  184. <li>PxVehicle4WSimpleSetup and PxCreateVehicle4WSimulationData have been removed and replaced with default values in vehicle components, see PxVehicleComponents.h.</li>
  185. <li>PxVehicle4WTelemetryData has been replaced with PxVehicleTelemetryData, a class that supports vehicles with any number of wheels, see PxVehicleTelemetryData</li>
  186. <li>PxVehicleDrivableSurfaceType no longer stored in PxMaterial::userData. A hash table of PxMaterial pointers is instead used to associate each PxMaterial with a PxVehicleDrivableSurfaceType, see PxVehicleDrivableSurfaceToTireFrictionPairs.</li>
  187. <li>PxVehicleTyreData::mLongitudinalStiffness has been replaced with PxVehicleTireData::mLongitudinalStiffnessPerUnitGravity, see PxVehicleTireData.</li>
  188. <li>Tire forces now computed from a shader to allow user-specified tire force functions, see PxVehicleTireForceCalculator.</li>
  189. <li>Added helper functions to quickly configure 3-wheeled cars, see PxVehicle4WEnable3WTadpoleMode, PxVehicle4WEnable3WDeltaMode.</li>
  190. </ul>
  191. <h4>Serialization</h4>
  192. <ul>
  193. <li>Changed the functions PxPhysics::releaseUserReferences(), releaseCollection(), addCollection() and releaseCollected() to now take a reference rather than a pointer.</li>
  194. <li>Platform conversion for serialized data has been moved from the ConvX command line tool to the PxBinaryConverter interface in the cooking library.</li>
  195. <li>Changed some functions in RepXUtility.h and RepX.h to take a reference rather than a pointer.</li>
  196. </ul>
  197. <h4>What we removed:</h4>
  198. <ul>
  199. <li>Deformables have been removed. Use the optimized solution for clothing simulation instead (see documentation on PxCloth for details).</li>
  200. <li>PxSweepCache is deprecated.</li>
  201. <li>PVD is no longer enabled in the release build.</li>
  202. <li>Removed anisotropic friction.</li>
  203. <li>Removed the CCD mode eSWEPT_CONTACT_PAIRS.</li>
  204. <li>PxActorDesc has been removed.</li>
  205. <li>The ConvX tool has been removed.</li>
  206. <li>Removed empty default implementations of functions in PxSimulationEventCallback for consistency and because it can create bugs in user code if function prototypes change between releases. Users must now supply (eventually blank) implementations for all functions.</li>
  207. <li>Octree and quadtree pruning structures have been removed.</li>
  208. <li>PxScene.overlapAny has been removed. overlapMultiple with maxNumHits 1 does the same.</li>
  209. </ul>
  210. <h4>Fixed Bugs</h4>
  211. <ul>
  212. <li>PxScene::getActors() might not work properly when the startIndex parameter is used.</li>
  213. <li>Improved the doc-comment of PxConvexMesh::getMassInformation().</li>
  214. <li>RepX instantiation can lose all internal references when addOriginalIdsToObjectMap is false.</li>
  215. <li>PxSetGroup crashed when used on a compound.</li>
  216. <li>PhysXCommon.dll can be delay loaded.</li>
  217. <li>ContactReportStream can now handle huge report numbers and size (resize-able flag) can be set in PxSceneDesc.h.</li>
  218. <li>Fixed assert in sweep tests.</li>
  219. <li>Concurrent read/write operations during a PxScene::fetchResults() call were not detected properly and no warning message got sent in checked builds. Forbidden write operations during callbacks triggered by PxScene::fetchResults() (contact/trigger reports etc.) were not covered either.</li>
  220. <li>Fixed crash bug that occurred during collision detection when more than 16K of contact data was generated. Contacts that generate more than 16K of contact data are now fully supported.</li>
  221. <li>Fixed crash bug when PhysX Visual Debugger is connected and an object gets modified and then released while the simulation is running.</li>
  222. </ul>
  223. </blockquote>
  224. <h2><br><a name="platforms320">Supported Platforms</a></h2>
  225. <blockquote>
  226. <h4>Runtime</h4>
  227. <ul>
  228. <li>Apple iOS</li>
  229. <li>Apple Mac OS X</li>
  230. <li>Google Android (version 2.2 or later for SDK, 2.3 or later required for samples)</li>
  231. <li>Linux (tested on Ubuntu)</li>
  232. <li>Microsoft Windows XP or later (NVIDIA Driver ver 295.73 or later is required for GPU acceleration)</li>
  233. <li>Microsoft XBox 360</li>
  234. <li>Sony Playstation 3</li>
  235. <li>Sony Playstation Vita</li>
  236. </ul>
  237. <h4>Development</h4>
  238. <ul>
  239. <li>Microsoft Windows XP or later</li>
  240. <li>Microsoft Visual Studio 2008, 2010</li>
  241. <li>Xcode 4.2</li>
  242. </ul>
  243. </blockquote>
  244. <h2><br>
  245. <a name="knownissues320">Known Issues And Limitations</a></h2>
  246. <blockquote>
  247. <h4>Binary Serialization</h4>
  248. <ul>
  249. <li>Meta data generation for PxParticleFluid and PxParticleSystem serializables currently fails.</li>
  250. <li>For collections that contain jointed rigid bodies all corresponding joints need to be added as well, otherwise deserialization will fail.
  251. </ul>
  252. <h4>Rigid Body Simulation</h4>
  253. <ul>
  254. <li>Capsules and spheres can struggle to come to rest on even perfectly flat surfaces. To ensure these objects come to rest, it is necessary to increase angular damping on rigid bodies made of these shapes. In addition, flagging the capsule/sphere's material with physx::PxMaterialFlag::eDISABLE_STRONG_FRICTION can help bring these shapes to rest.</li>
  255. </ul>
  256. <h4>Character Cloth Sample</h4>
  257. <ul>
  258. <li>An NVIDIA GPU with Compute Capability 2.0 or higher is required for GPU accelerated simulation in the SampleCharacterCloth sample, if no such device is present then simulation will be performed on the CPU.</li>
  259. <li>Note that this is not a general SDK requirement, the clothing SDK supports cards with Compute Capability < 2.0 but with limitations on mesh size.</li>
  260. </ul>
  261. </blockquote>
  262. <blockquote>
  263. Please also see the previous lists <a href="#knownissues311"> from 3.1.1</a> and earlier.
  264. </blockquote>
  265. <br>
  266. <h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA PhysX SDK 3.1.2</h1>
  267. <h2 style="TEXT-ALIGN: center">December 2011</h2>
  268. <h2>What's New In NVIDIA PhysX 3.1.2</h2>
  269. <blockquote>
  270. <h4>General</h4>
  271. <ul>
  272. <li>Fixed wrong write/read clash checks.</li>
  273. <li>Removed some compiler warnings from public header files.</li>
  274. <li>Fixed PxScene::getActors() returning wrong actors when a start index is specified.</li>
  275. </ul>
  276. <h4>Rigid Bodies</h4>
  277. <ul>
  278. <li>Fixed broken joint projection in connection with kinematics.</li>
  279. <li>Fixed inaccurate normals returned from height field scene queries.</li>
  280. <li>Fixed a crash when the geometry of a shape changes and then the actor gets removed from the scene while the simulation is running.</li>
  281. <li>Fixed a crash when re-adding scene-query shape actors to scene.</li>
  282. </ul>
  283. <h4>Particles</h4>
  284. <ul>
  285. <li>Fixed crash bug in particle simulation code on GPU.</li>
  286. </ul>
  287. <h4>Cloth</h4>
  288. <ul>
  289. <li>Fixed a crash when GPU fabrics are shared between cloths.</li>
  290. <li>Fixed a hang in cloth fiber cooker when handed non-manifold geometry.</li>
  291. </ul>
  292. <h4>Samples</h4>
  293. <ul>
  294. <li>Fixed SampleVehicles doing an invalid write.</li>
  295. <li>Fixed SampleVehicle jitter in profile build.</li>
  296. </ul>
  297. </blockquote>
  298. <h2><br>Supported Platforms (available in separate packages)</h2>
  299. <blockquote>
  300. Unchanged from <a href="#platforms311"> from 3.1.1</a>.
  301. </blockquote>
  302. <h2><br>Known Issues And Limitations</h2>
  303. <blockquote>
  304. Unchanged from <a href="#knownissues310"> from 3.1</a>.
  305. </blockquote>
  306. <br>
  307. <h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA PhysX SDK 3.1.1</h1>
  308. <h2 style="TEXT-ALIGN: center">November 2011</h2>
  309. <h2>What's New In NVIDIA PhysX 3.1.1</h2>
  310. <blockquote>
  311. <h4>General</h4>
  312. <ul>
  313. <li>Ported samples to Linux.</li>
  314. <li>Fixed crash bug in ConvX.</li>
  315. <li>Fixed crash bug in the allocator code of PXC_NP_MEM_BLOCK_EXTENSIBLE.</li>
  316. <li>Fixed crash bug when connected to PVD on various platforms.</li>
  317. <li>Fixed bogus asserts due to overly strict validation of quaternions.</li>
  318. <li>Fixed one frame lag in PVD scene statistics.</li>
  319. <li>Fixed a number of OSX PVD sockets issues.</li>
  320. <li>Fixed SampleSubmarine code that violated concurrent read/writes restriction.</li>
  321. <li>Added warnings about read/write hazards to the checked build.</li>
  322. <li>Fixed RepX not reading joint properties.</li>
  323. <li>Fixed support for concurrent scene queries.</li>
  324. <li>Fixed PhysX GPU Visual Indicator support.</li>
  325. <li>Made it more clear in documentation that simulate(0) is not allowed.</li>
  326. </ul>
  327. <h4>Rigid Bodies</h4>
  328. <ul>
  329. <li>eNOTIFY_TOUCH_LOST trigger events do now get reported if one of the objects in contact gets deleted (see documentation of PxTriggerPair for details).</li>
  330. <li>Dynamic rigid bodies with trigger shapes only do not wake up other touching bodies anymore.</li>
  331. <li>Added lost touch events for trigger reports when objects get deleted.</li>
  332. <li>Fixed dynamic triggers waking up actors they are triggered by.</li>
  333. <li>Removed an inapropriate assert from articulation code.</li>
  334. <li>Fixed problem with the angular momentum conservation of articulations.</li>
  335. <li>Fixed articulation sleep problems.</li>
  336. <li>Fixed a linear velocity related bug in CCD.</li>
  337. <li>Fixed crash bug CCD.</li>
  338. <li>Optimized performance of joint information being sent to PVD.</li>
  339. </ul>
  340. </blockquote>
  341. <h2><br><a name="platforms311">Supported Platforms (available in separate packages)</a></h2>
  342. <blockquote>
  343. <h4>Runtime</h4>
  344. <ul>
  345. <li>Microsoft Windows XP or later</li>
  346. <li>Microsoft XBox 360</li>
  347. <li>Sony Playstation 3</li>
  348. <li>Android 2.2 or later for SDK, 2.3 or later required for samples</li>
  349. <li>Linux (tested on Ubuntu)</li>
  350. <li>Mac OS X</li>
  351. </ul>
  352. <h4>Development</h4>
  353. <ul>
  354. <li>Microsoft Windows XP or later</li>
  355. <li>Microsoft Visual Studio 2008, 2010</li>
  356. <li>Xcode 3</li>
  357. </ul>
  358. </blockquote>
  359. <h2><br><a name="knownissues311">Known Issues And Limitations</a></h2>
  360. <blockquote>
  361. Unchanged from <a href="#knownissues310"> from 3.1</a>.
  362. </blockquote>
  363. <br>
  364. <h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA PhysX SDK 3.1</h1>
  365. <h2 style="TEXT-ALIGN: center">September 2011</h2>
  366. <h2>What's New In NVIDIA PhysX 3.1</h2>
  367. <blockquote>
  368. <h4>General</h4>
  369. <ul>
  370. <li>VC10 support has been introduced.</li>
  371. <li>VC8 support has been discontinued.</li>
  372. <li>Namespaces cleaned up.</li>
  373. <li>Extensions, Character Controller and Vehicle source code made available in binary distribution.</li>
  374. <li>Added x86,x64 suffix to PxTaskCUDA.dll</li>
  375. <li>Removed boolean return value from PxScene::addActor(...), and similar API calls.</li>
  376. <li>Added MacOS, Android and Linux to the list of supported platforms. See Supported Platforms below for details.</li>
  377. <li>Upgraded GPU tech to CUDA 4.</li>
  378. <li>Cleaned up a large number of warnings at C++ warning level 4, and set SDK to compile with warnings as errors.</li>
  379. <li>Removed individual sample executables in favor of one Samples executable from PC and console builds.</li>
  380. <li>Fixed alpha blending in samples.</li>
  381. <li>Simplified some code in samples.</li>
  382. <li>Improved ambient lighting in samples.</li>
  383. <li>Made samples work with older graphics cards.</li>
  384. <li>Improved and added more content the user's guide.</li>
  385. <li>No longer passing NULL pointers to user allocator to deallocate.</li>
  386. <li>Various improvements to Foundation and classes shared with APEX.</li>
  387. </ul>
  388. <h4>Rigid Bodies</h4>
  389. <ul>
  390. <li>Rigid Body: High performance alternative convex narrow phase code available to source licensees. See PERSISTENT_CONTACT_MANIFOLD in the code.</li>
  391. <li>Significant advancements in the continuous collision detection algorithm.</li>
  392. <li>Optimizations and robustness improvements for articulations.</li>
  393. <li>Added some helper code to the API.</li>
  394. <li>Added sleep code for articulations.</li>
  395. <li>Added support for vehicles with more than one chassis shape.</li>
  396. <li>Solver iteration count for articulations.</li>
  397. <li>Articulation limit padding configurable.</li>
  398. <li>The reference count of meshes does now take the application's reference into acount as well and thus has increased by 1 (it used to count the number of objects referencing the mesh only). Note that a mesh does only get destroyed and removed from the list of meshes once the reference count reaches 0.</li>
  399. <li>Fixed autowake parameter sometimes being ignored.</li>
  400. <li>Constraint solver optimizations.</li>
  401. <li>Improved behavior of character controller on steep slopes.</li>
  402. <li>Binary serialization now saves names.</li>
  403. <li>Removed some descriptors from API.</li>
  404. <li>Removed the angular velocity term in the joint positional drive error formula.</li>
  405. <li>Fixed bug in capsule sweep versus mesh.</li>
  406. <li>Fixed a crash bug in the tire model.</li>
  407. <li>Fixed crashing of single link articulations.</li>
  408. <li>Fixed bug related to removing elements of an aggregate.</li>
  409. <li>Fixed swapped wheel graphs in sample vehicle.</li>
  410. <li>Fixed some slow moving bodies falling asleep in midair.</li>
  411. <li>Fixed missing collisions after a call to resetFiltering.</li>
  412. <li>Fixed broken autowake option in setAngularVelocity.</li>
  413. <li>Fixed D6 joint linear limits being uninitialized.</li>
  414. <li>A large number of misc. bug fixes and optimizations.</li>
  415. <li>Improved documentation and error messages associated with running out of narrow phase buffer blocks.</li>
  416. <li>Added articulation documentation.</li>
  417. <li>Expanded manual sections on joints.</li>
  418. <li>Improved reference doc for PxSceneQueryHitType.</li>
  419. <li>Added reference doc for PxSerializable.</li>
  420. </ul>
  421. <h4>Particles</h4>
  422. <ul>
  423. <li>Particle index allocation removed from SDK. Added index allocation pool to extensions.</li>
  424. <li>Replaced GPU specific side band API PxPhysicsGpu and PxPhysics::getPhysicsGpu() with PxParticleGpu.</li>
  425. <li>Memory optimizations on all platforms and options to reduce memory usage according to use case with new per particle system flags:
  426. <ul>
  427. <li>PxParticleBaseFlag::eCOLLISION_WITH_DYNAMIC_ACTORS</li>
  428. <li>PxParticleBaseFlag::ePER_PARTICLE_COLLISION_CACHE_HINT</li>
  429. </ul></li>
  430. <li>Fixed rare crash appearing with multi-threaded non-GPU particle systems and rigid bodies.</li>
  431. <li>Fixed particles leaking through triangle mesh geometry on GPU.</li>
  432. <li>Fixed fast particles tunneling through scene geometry in some cases.</li>
  433. <li>Fixed erroneous collision of particles with teleporting rigid shapes (setGlobalPose).</li>
  434. <li>Fixed particle sample behavior with some older GPU models.</li>
  435. <li>Fixed a GPU particle crash bug.</li>
  436. </ul>
  437. <h4>Cloth</h4>
  438. <ul>
  439. <li>A new solution for simulating cloth and clothing.</li>
  440. </ul>
  441. <h4>Deformables</h4>
  442. <ul>
  443. <li>Deformables are deprecated and will be removed in the next release. There is a new optimized solution for clothing simulation (see documentation on PxCloth for details).</li>
  444. </ul>
  445. </blockquote>
  446. <h2><br>Supported Platforms (available in separate packages)</h2>
  447. <blockquote>
  448. <h4>Runtime</h4>
  449. <ul>
  450. <li>Microsoft Windows XP or later</li>
  451. <li>Microsoft XBox 360</li>
  452. <li>Sony Playstation 3</li>
  453. <li>Android 2.2 or later for SDK, 2.3 or later required for samples</li>
  454. <li>Linux (SDK tested on Ubuntu, samples not yet ported) </li>
  455. <li>Mac OS X</li>
  456. </ul>
  457. <h4>Development</h4>
  458. <ul>
  459. <li>Microsoft Windows XP or later</li>
  460. <li>Microsoft Visual Studio 2008, 2010</li>
  461. <li>Xcode 3</li>
  462. </ul>
  463. </blockquote>
  464. <h2><br>
  465. <a name="knownissues310">Known Issues And Limitations</a></h2>
  466. <blockquote>
  467. <h4>General</h4>
  468. <ul>
  469. <li>Under VC10, you may get warnings due to conflicting build configuration flags. Workaround: Clear the "Inherit from parent or project defaults" flag for all projects in Project->Properties->C/C++->Command Line. We plan to fix this for the 3.1 general availability release.</li>
  470. </ul>
  471. <h4>Scene Query</h4>
  472. <ul>
  473. <li>Querying the scene (e.g. using raycastSingle()) from multiple threads simultaneously is not safe.</li>
  474. </ul>
  475. <h4>Cloth</h4>
  476. <ul>
  477. <li>Even simple parameters of a PxCloth can not be set or accessed while the simulation is running.</li>
  478. </ul>
  479. <h4>RepX</h4>
  480. <ul>
  481. <li>RepX fails to load elements of aggregate joint parameters (PxD6JointDrive etc.)</li>
  482. </ul>
  483. </blockquote>
  484. <blockquote>
  485. Please also see the previous lists <a href="#knownissues300"> from 3.0</a>.
  486. </blockquote>
  487. <h1 style="TEXT-ALIGN: center"><br>Release Notes - NVIDIA PhysX SDK 3.0</h1>
  488. <h2 style="TEXT-ALIGN: center">February 14<sup>th</sup>2011</h2>
  489. <h2>What's New In NVIDIA PhysX 3.0</h2>
  490. <blockquote>
  491. <h4>General</h4>
  492. This third major version of the SDK is a significant rewrite of the entire technology. We did away with a large amount of legacy clutter and replaced them with a wealth of new features and improvements.
  493. Because even the API changes are so significant, it is easier to see it as a whole new product rather than a long list of changes.
  494. <h4>What we removed:</h4>
  495. <ul>
  496. <li>The dedicated NVIDIA PhysX PPU hardware is not supported any more.</li>
  497. <li>Scene compartments are not supported anymore. All created physical objects are now part of one and the same compartment.</li>
  498. <li>Force fields are not part of the NVIDIA PhysX SDK anymore.</li>
  499. <li>Splitting a simulation timestep into multiple substeps is not a functionality of the NVIDIA PhysX SDK any longer and has to be implemented above the SDK.</li>
  500. </ul>
  501. <h4>Key new features:</h4>
  502. <ul>
  503. <li>Articulations: A way to create very stiff joint assemblies.</li>
  504. <li>Serialization: Save objects in a binary format and load them back quickly!</li>
  505. <li>Broad Phase Clustering: Put objects that belong together into a single broadphase volume.</li>
  506. <li>Driverless Model: No need to worry about system software on PC anymore.</li>
  507. <li>Dynamic Character Controller: A character controller that can robustly walk on dynamic objects.</li>
  508. <li>Vehicle Library: A toolkit to make vehicles, including an all new tire model.</li>
  509. <li>Non-Simulation Objects: A staging are outside of the simulation from where you can add things into the simulation at high speed.</li>
  510. <li>Simulation Task Manager: Take control of the management of simulation tasks.</li>
  511. <li>Stable Depenetration: Large penetrations can be gracefully recovered from.</li>
  512. <li>Double Buffering: You can read from and write to the simulated objects while the simulation is running on another thread.</li>
  513. <li>Mesh Scaling: Create different nonuniformly scaled instances of your meshes and convexes without duplicating the memory.</li>
  514. <li>Distance Based Collision Detection: Have the simulation create contacts before objects touch, and do away with unsightly overlaps.</li>
  515. <li>Fast Continuous Collision Detection: Have small and high speed objects collide correctly without sacrificing performance.</li>
  516. <li>Significantly increased performance and memory footprint, especially on consoles.</li>
  517. <li>Unified solver for deformables and rigid bodies for great interaction.</li>
  518. <li>Triangle collision detection with deformables.</li>
  519. <li>Support for our new Physics Visual Debugger, including integrated profiling.</li>
  520. </ul>
  521. <h4>Math classes</h4>
  522. <ul>
  523. <li>Matrix based transforms have been replaced by quaternions.</li>
  524. <li>All angles are now expressed in radians. IN PARTICULAR the PxQuat constructor from
  525. axis and angle as well as the getAngleAxis and fromAngleAxis methods now use radians rather than degrees.</li>
  526. </ul>
  527. <h4>Rigid Bodies</h4>
  528. <ul>
  529. <li>Capsules are now defined to extend along the x rather than the y axis.</li>
  530. <li>Triangle meshes do not support heightfield functionality anymore. Use the dedicated PxHeightField class instead.</li>
  531. <li>Dynamic triangle mesh actors are not supported any longer. However, you can decompose your mesh into convex parts and create a dynamic actor consisting of these convex parts.</li>
  532. <li>The deprecated heightfield property NxHeightFieldDesc::verticalExtent is not supported any longer. Please use the PxHeightFieldDesc::thickness parameter instead.</li>
  533. <li>NxSpringAndDamperEffector is not supported anymore. Use PxDistanceJoint instead.</li>
  534. <li>Joints are now part of the PhysX extensions library (PhysXExtensions).</li>
  535. <li>Wheel shapes have been replaced by the more flexible entity PxWheel. A default wheel implementation, encapsulating most of the old wheel functionality, can be found in the PhysX extensions library (see PxDefaultWheel).</li>
  536. <li>The NxUtilLib library has been removed. Sweep/overlap/raycast tests and other helper methods can be found in the new GeomUtils library.</li>
  537. <li>Materials can no longer be accessed through indices. Per triangle material meshes need a material table which can be specified per shape (see PxShape::setMaterials() for details).</li>
  538. <li>The default material is not available anymore.</li>
  539. </ul>
  540. <h4>Particle Systems, Particle Fluids</h4>
  541. <ul>
  542. <li>The NxFluid class has been replaced with two classes for separation of functionality and ease of use.
  543. <ul>
  544. <li>PxParticleSystem: Particles colliding against the scene.</li>
  545. <li>PxParticleFluid: Particles simulating a fluid (sph).</li>
  546. </ul>
  547. </li>
  548. <li>Simplified parameterization for particle systems.
  549. <ul>
  550. <li>Using absolute distances instead of relative multipliers to rest spacing</li>
  551. <li>Simplified sph parameters</li>
  552. <li>Unified collision parameters with deformable and rigid body features</li>
  553. </ul>
  554. </li>
  555. <li>Creating and releasing particles is now fully controlled by the application.
  556. <ul>
  557. <li>Particle lifetime management isn't provided through the SDK anymore.</li>
  558. <li>Emitters have been removed from the SDK.</li>
  559. <li>Drain shapes don't cause particles to be deleted directly, but to be flagged instead.</li>
  560. <li>Initial particle creation from the particle system descriptor isn't supported anymore.</li>
  561. </ul>
  562. </li>
  563. <li>Particle data buffer handling has been moved to the SDK.</li>
  564. <li>Per particle collision rest offset.</li>
  565. <li>GPU accelerated particle systems.
  566. <ul>
  567. <li>Application controllable mesh mirroring to device memory.</li>
  568. <li>Runtime switching between software and GPU accelerated implementation.</li>
  569. </ul>
  570. </li>
  571. </ul>
  572. </blockquote>
  573. <h2><br>Supported Platforms (available in separate packages)</h2>
  574. <blockquote>
  575. <h4>Runtime</h4>
  576. <ul>
  577. <li>Microsoft Windows XP or and later</li>
  578. <li>Microsoft XBox360</li>
  579. <li>Sony Playstation 3</li>
  580. </ul>
  581. <h4>Development</h4>
  582. <ul>
  583. <li>Microsoft Windows XP or and later</li>
  584. <li>Microsoft Visual Studio 2008</li>
  585. </ul>
  586. </blockquote>
  587. <h2><br>
  588. <a name="knownissues300">Known Issues And Limitations</a></h2>
  589. <blockquote>
  590. <h4>Rigid Bodies</h4>
  591. <ul>
  592. <li>Adding or removing a PxAggregate object to the scene is not possible while the simulation is running.</li>
  593. </ul>
  594. <h4>Particle Systems</h4>
  595. <ul>
  596. <li>Releasing the Physics SDK may result in a crash when using GPU accelerated particle systems. </br>
  597. This can be avoided by doing the following before releasing the Physics SDK:
  598. <ul>
  599. <li>Releasing the PxScene objects that contain the GPU accelerated particle systems.</li>
  600. <li>Releasing application mirrored meshes by calling PxPhysicsGpu::releaseTriangleMeshMirror(...), PxPhysicsGpu::releaseHeightFieldMirror(...) or PxPhysicsGpu::releaseConvexMeshMirror(...).</li>
  601. </ul>
  602. </li>
  603. </ul>
  604. </blockquote>
  605. <p><br>
  606. Copyright (C) 2008-2012 NVIDIA Corporation, 2701 San Thomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. <A href="http://www.nvidia.com">www.nvidia.com</A>
  607. </p>
  608. </body>
  609. </html>