Archive for the ‘PhysX 3’ tag
Recently, the PhysX SDK team began to offer a preview of the upcoming version, PhysX SDK 3.3, to advanced PhysX users — professional developers, who have the time and experience to try out the latest offering, test it and provide feedback to the PhysX SDK team.
If that describes you or your team, do not hesitate to contact and use the words ‘beta-3.3 request’ in the subject line to apply for the SDK 3.3 Closed Beta Testing.
|PhysX SDK 3.3 – Feature Highlights|
Performance and stability optimizations for rigid body solver
Rigid body collision performance was improved up to 15-20% in comparison to SDK 3.2, while memory footprint was reduced.
Please note that we expect more performance improvements in final release
NVIDIA has revealed new bug-fixing release of the PhysX SDK 3.x – PhysX SDK 3.2.4
Update: PhysX SDK 3.3 Closed Beta Testing begins
Update: PhysX SDK 3.2.5 available
|PhysX SDK 3.2.4 – Release Notes|
- Fixed a bug which caused actors to return wrong world bounds if the bounds minimum was above 10000 on any axis.
- Reporting allocation names can now be enabled or disabled (see PxFoundation::setReportAllocationNames). When enabled, some platforms allocate memory through ‘malloc’.
- eEXCEPTION_ON_STARTUP is removed from PxErrorCode and it is no longer needed.
- Added boilerplate.txt to the Tools folder. SpuShaderDump.exe and clang.exe require it.
- PxWindowsDelayLoadHook.h has been moved from Include/foundation/windows to Include/common/windows.
- PxScene::saveToDesc now reports the bounceThresholdVelocity value.
- Fixed a bug in PxDefaultSimulationFilterShader: the value of the second filter constant in the collision filtering equation was ignored and instead the value of the first filter constant was used.
- Fixed a crash bug in PCM collision.
- Forces applied to bodies (with PxRigidBody::addForce) that go to sleep in the subsequent update now have their applied forces cleared when the body is set to sleep to avoid them being applied in a later update when the body is once more awake. This bug broke the rule that forces applied with PxRigidBody::addForce do not persist beyond the next scene update.
Very similar to Hawken, GPU PhysX support in another free-2-play MMO title, PlanetSide 2, has a multi-staged history – basic integration in Closed Beta, unfulfilled promises after the release, unofficial way to enable the effects later on.
Update: official PhysX trailer by NVIDIA
And now, finally, we are glad to inform you that GPU Physics option can now be officially enabled in PlanetSide 2.
PlanetSide 2 is build on a brand new ForgeLight engine from SOE, which features a two layers of PhysX and APEX integrations – a basic CPU physics layer, based on PhysX SDK 3.2, which power all the collision and hit detection, character controllers and vehicle physics, and also an extra GPU accelerated physics effects layer, which is working working on APEX Particles and APEX Turbulence modules.
GPU PhysX effects, present in PlanetSide 2, can be devided into two categories – various types of impact debris effects (sparks, rock pieces, metal chards, wood splinters, etc) and Turbulence particles, applied to objects such as jump-pads, grav-elevators, healing grenades, teleporters and so on.
All the effects are done really well, from both artistical and technical standpoint, and also present a dramatic enhancement to the visual look of the game. PlanetSide 2 is a must-play, or at least must-see, for every user interested in PhysX Technology.
Head on over to the PlanetSide 2.com to enlist, and if you are interested in technical details behind PhysX effects, don’t forget to check “Maximizing PhysX-based particle effects in Planetside 2” article on NVIDIA Developer Zone.
NVIDIA has released yet another set of bug-fixes for PhysX SDK 3.x
Update: PhysX SDK 3.2.4 is available
|PhysX SDK 3.2.3 – Release Notes|
- Quaternions passed through the API are now considered valid if their magnitude is between 0.99 and 1.01.
- Fixed crash when running out of memory on creation of a triangle mesh.
- For applications using floating point exceptions, the SDK will now mask or avoid exceptions arising from invalid floating point operations (inexact and underflow exceptions may still be generated).
- Fixed a bug with recursive use of the PxScene read/write lock.
- Fixed a shutdown bug with very short lived threads on Linux platforms.
- PhysX version number in error messages now printed in hex for easier reading.
- Fixed a broad phase crash bug that occurred when deleting shapes with bounds very far from the origin.
A Beta version of the Catzilla benchmark, developed by Plastic Demo in collaboration with Polish post production company, Platige, is now available for download.
Catzilla is a cross-API (OpenGL 4.0 and DirectX 9/11) benchmark designed the Windows platform, and is also featuring a parallel graphics engine that can take advantage of multi-core CPUs.
Benchmark consists of the main demoscene-style dubstep-heavy giant cat fight scene, which stresses both CPU and GPU, and a set of smaller benchmarks – CPU rigid body physics, GPU smoke simulation, fur rendering, etc.
As interesting note, Catzilla uses PhysX SDK 3.2 as physics engine, however, it is running purely on CPU (as confirmed by one of the developers).
PlanetSide 2 is an MMO first-person shooter under development by Sony Online Entertainment and, along with Hawken, another title with GPU PhysX support arriving this year.
Update: initial release of PlanetSide 2 won’t have any of the GPU PhysX effects, they will be added later, in one of the patches.
Recent beta patch has added preliminary PhysX content to the game and we decided to give it an inspection.
PlanetSide 2 is the first major game title to utilize PhysX SDK 3.x (SDK 3.2 specifically). PhysX integration is powering almost every physics calculation in the game – collision and hit detection, character controller, aerial and land vehicle physics and so on. As interesting note, PlanetSide is also using upcoming APEX Dynamic Systems module for vehicle modelling.
New version of PhysX SDK 3.x is now available. Despite of minor revision number, 3.2.2 release contains massive amount of bug-fixes and new features.
Update: PhysX SDK 3.2.3 is available
|PhysX SDK 3.2.2 – Release Notes|
- Added Microsoft Windows RT (formerly known as Windows on ARM) support.
- Suspended Sony Playstation Vita support.
- Enabled Win64 DEBUG build to use SIMD enabled code path.
- PxScene now exposes methods to make multithreaded sharing of scenes easier, see PxSceneFlags::eREQUIRE_RW_LOCK for details.
- The bounce threshold velocity can be set at run-time with PxScene::setBounceThresholdVelocity. Likewise, it can be queried with PxScene::getBounceThresholdVelocity.
- PxGeometryQuery::mtd() has been added, to compute the Minimum Translational Distance between geometry objects.
- Fixed bug in quaternion to axis/angle routine which failed on negative w values.
- Fixed crash when using ConvX on a PxCollection with external references.
- Fixed a spurious overlapping read/write error report when using simulation call backs in checked builds.
- Fixed return value of Ps::atomicExchange for POSIX based platforms: Linux, Android, IOS and OSX.
- Fixed a broad phase crash bug.
Almost any user, who played games utilizing PhysX SDK physics engine (either with GPU acceleration support or software only), must be familiar with PhysX System Software (PSS, also known as PhysX Driver) – special package that includes core DLL libraries for physics engine to operate correctly and some firmware components, and is required for installation regardless of whether you have NVIDIA GPU or not.
This is how it works: PhysX Loader, located in game’s directory, loads corresponding core DLLs of PhysX engine from PSS installation folder. GPU acceleration DLLs (PhysX and CUDA Device Managers) are acquired from PSS distribution, if required. Supplementary libraries (like Character Controller DLL), in comparison, can be stored in local folder.
Note: one must have noticed that many older games store core engine libs locally, but still require a PSS installation.
For the most part, pre-2.8.4 PhysXCore.dll files in game directories are the result of special requirements of certain engines (like UE3) or installers that include unneeded DLLs.
PhysX System Software installation requirement was firstly introduced by Ageia in 2006, and obviously such approach has its own advantages and disadvantages.
New DCC PhysX plug-ins for 3ds Max (2.86.00806) and Maya (2.86.00820) are finishing the line of updated content creation tools, accompanying the APEX 1.2 release.
Update: 2.87 PhysX plug-in are released
One of the most import features of this new plug-ins is the introduction of the authoring pipeline for new PhysX 3 clothing solver (more details in our APEX 1.2 overview and this SIGGRAPH presentation), however, other improvements are present as well.
|2.86.00806 PhysX plug-in for 3ds Max: Release Notes|
3ds max plug-in is supporting both new embedded clothing solver (PhysX 3.x) and old 2.8.4 cloth – one can switch between the two using [PhysX Tools] > [Engine] > [Use PhysX engine] option.
Although basic principles of clothing authoring between two solvers are the same (painting cloth constraints and attributes, setting ragdoll skeleton, etc), lesser details and settings are quite different.
We are expecting updated tutorials on PhysX 3 clothing authoring process to be revealed soon.
New release of NVIDIA APEX framework is now available for public download.
Update: APEX SDK 1.2.1 is released
Update #2: APEX SDK 1.3 is available
This release includes several major features, like PhysX SDK 3 support and new modules – APEX Turbulence and APEX ForceField.
While PhysX Registered Developer Program website is still getting back on track, NVIDIA APEX SDK 1.2 can be downloaded through Developer Support Center.
If you are experiencing troubles with registration, please refer to our updated guide.
Although APEX 1.2 is the first APEX release to feature PhysX 3 support (SDK 3.2 specifically), standalone variant, compatible with SDK 2.8.4, is also available for developers who haven’t upgraded their physics integration to a new engine, but still want to take advantage of the new capabilities of APEX 1.2.
Addition of SDK 3.2 support is distinctive feature of this release, which not only allows developers utilizing the PhysX 3 engine to implement APEX in their games, but also brings all the advancements present in 3.x branch of PhysX SDK.
However, currently there is feature parity for core APEX functionality between the 2.8.4 and 3.2 ports, for most part.
Updated APEX SDK 1.2.1, which will add several missing features, like GPU Rigid Bodies support for 3.x branch, will be available shortly.