Archive for the ‘APEX’ tag
Following the PhysX SDK 3.3.2 release, updated APEX SDK 1.3.2 is available for download.
Update March 2015: Bug-fixing APEX SDK 3.3.3 release is available.
Despite the minor version number, APEX 1.3.2 includes numerous additions to Destruction and Particles modules.
|APEX SDK 1.3.2: Release Notes|
APEX Framework 1.3.2
- Added NVTX profiling support for non-release builds. Traces can be captured using Parallel Nsight Analysis Tools. NVTX is supported only for Windows and Android.
- Added ability to change render resource lock behavior or disable locking altogether, to improve performance. The setting is per module. See NxModule::setRenderLockMode and NxApexRenderLockMode.
- Added ability to disable potentially expensive stat collection if it’s not needed. See NxApexSDK::setEnableApexStats.
- Fixed crash if application creates APEX SDK after already connecting to PVD.
New APEX 1.3.1 release is now available for public download.
Update: APEX SDK 1.3.2 is available
1.3.1 version features support for latest PhysX SDK 3.3.1 and includes a set of bug-fixes and minor new features.
|APEX SDK 1.3.1: Release Notes|
APEX Framework 1.3.1
- Added VS2012 support for source distributions with PhysX 3.x.
- Assertions are now enabled in the checked configuration.
- Added NxApexActor::setEnableDebugVisualization to selectively disable debug visualization on particular actors.
- The NxUserRenderResourceManager’s surface buffer create and release virtual methods must be implemented by the user. They are only used by particular turbulence features, so if turbulence isn’t being used the implementation can be empty.
- Starting with NVIDIA R302 drivers, application developers can direct the Optimus driver at runtime to use the High Performance Graphics to render any application – even those applications for which there is no existing application profile. The APEX samples now makes use of this “NvOptimusEnablement” feature to enable High Performance Graphics by default.
- Debug info added to all PS4 builds except release builds.
- Android sample builds now generate an APK. This requires some extra defines for Java and Ant. See the Android examples section of the sample documentation for details.
- Fixed rare Named Resource Provider failure to find resource.
- Using allocViewMatrix(ViewMatrixType::USER_CUSTOMIZED) now works.
- Cleaned up several PS4 compiler warnings.
GPU PhysX effects, in a form of APEX Turbulence based smoke, are now available in the PC version of the Assassin’s Creed IV: Black Flag title.
Update: Adding GPU PhysX support to Assassin’s Creed IV – interview with Ubisoft Kiev
We have prepared a short comparison video to showcase the effects.
Turbulence smoke is utilizing latest APEX 1.3, can cast and recieve shadows on a rendering side, and is applied to a number of environmental and combat assets throughout the game.
Particles are affected by forcefields (such as shots and explosions) and weather conditions (such as wind). They can interact with characters and are also colliding with static level geometry, as a nice addition.
New major APEX SDK 1.3 release is now available for public download.
Update: APEX SDK 1.3.1 released
1.3 version is featuring support for newest PhysX SDK 3.3.0 and also includes variety of improvements and new features for APEX modules.
Please note that corresponding authoring tools are required – PhysXLab 1.3 and DCC plug-ins 3.0
|APEX SDK 1.3: Feature Highlights|
APEX 1.3 now features a single Legacy Module (APEX_Legacy).
In APEX 1.2 every module had its own legacy module. For example, if an application uses APEX clothing and destruction, in APEX 1.2 the application would need to load both APEX_Clothing_Legacy and APEX_Destructible_Legacy.
However, assets created with APEX 1.1 or 1.2 should “just work” with APEX 1.3. The application must load the legacy module, which contains all the code that allows APEX to automatically upgrade assets to the latest version.
APEX Destruction and APEX Clothing modules can now utilize Render Proxies.
The rendering of destructibles and cloth can now be managed by a new object that is independent of the actors themselves. By default you will not see a change, but you may detach this object from the actors, meaning that the render data will not get deleted when the actors are deleted. You may delete the renderable when you’re done with it.
This is useful for multi-threaded renderers which may have the render data queued up even after the destructible or clothing actor is deleted in the main thread.
Speaking of Destruction, so called Behaviour Groups functionality was added to authoring pipeline.
Some common parameters, such as damage threshold, damage spread, density, etc., are now contained in “Behavior Groups“. Every chunk references a behavior group by index, allowing the user to customize behaviors for different chunks within single asset.
For those developers who are not ready yet to switch to 3.3 branch of the PhysX engine, NVIDIA has prepared several bug-fixing releases – PhysX SDK 3.2.5, APEX SDK 1.2.5 and corresponding tools.
Update: APEX SDK 1.3 is available
|PhysX SDK 3.2.5: Release Notes|
- Fixed a bug which could cause triggers to not fire touch events after a kinematic actor moved into or out of overlap and had no target set anymore in the next simulation step.
- Fixed crash when setting multiple materials on a shape followed by release/removal of the corresponding actor from the scene (all while the simulation is running).
- Fixed a bug that caused bodies to not respond to applied velocities or forces if the autowake parameter in those methods was set to false. This could happen for (almost) resting bodies which were close to other bodies (bounding box overlap) but did not touch them.
- Bugs in the suspension force and tire load computation have been fixed that affected handling when the vehicle was upside down.
- The tire load passed to the tire force computation is now clamped so that it never falls below zero.
- PxVehicleTireLoadFilterData now requires that mMinNormalisedLoad is greater than or equal to zero.
- PxVehicleTireLoadFilterData now has a new member variable mMinFilteredNormalisedLoad. This value describes the filtered normalised load that occurs when the normalised is less than or equal to mMinNormalisedLoad.
- PxVehicleWheelsSimData now has a new function setMinLongSlipDenominator. This can be used to tune stability issues that can arise when the vehicle slows down in the absence of brake and drive torques.
- A bug in the tank damping forces has now been fixed. Tanks now slow down more aggressively from engine and wheel damping forces.
- A new section “The Vehicle Under-steers Then Over-steers” has been added to the vehicle troubleshooting guide to describe steps to avoid twitchy handling on bumpy surfaces.
- A new section “The Vehicle Never Goes Beyond First Gear” has been added to the vehicle troubleshooting guide to describe a common scenario that occurs when the automatic gearbox is given a latency time that is shorter than the time taken to complete a gear change.
- A new section “The Vehicle Slows Down Unnaturally” has been added to the vehicle troubleshooting guide to describe the steps that can be taken to help the vehicle slow down more smoothly.
- The section “SI Units” in the vehicle guide has been updated to include the new functon PxVehicleWheelsSimData::setMinLongSlipDenominator.
A little bit late, but PhysXLab 1.2.4 has arrived, finally.
This version in compatible with APEX SDK 1.2.4 and includes several bug-fixes.
|PhysXLab 1.2.4 – Release Notes|
- APEX 1.2.4 support.
- PhysX SDK 3.2.4 support.
- Smoothing groups preserved from imported mesh.
- Fix for DCC/PhysXLab destructible import problem with multi meshes.
- DE7941: UV-based cutout face selection tool re-enabled.
- GRB playground mode removed.
PhysXLab 1.2.4 can be downloaded throught PhysX/APEX Registered Developer Program (our registration guide).
NVIDIA has released APEX SDK 1.2.4, which contains several minor bug-fixes.
Update: APEX 1.2.5 available
This version is compatible with latest PhysX SDK 3.2.4
|APEX SDK 1.2.4 – Release Notes|
APEX Framework 1.2.4
- EditorWidgets header files added to binary distributions.
- Added more asset previews for consistency.
- PS3 gcc support has been deprecated in APEX 1.2.4 in favor of SNC. The gcc version is still included but not supported.
- Fixed some allocations that were not going through the user-supplied allocator.
APEX Destruction 1.2.4
- Fixed contacts not getting detected between PhysX bodies and destructibles when using GRB.
APEX Clothing 1.2.4
- Fixed issues with teleport and reset.
- Fixed a crash in tangent computations.
- Fixed an issue where tangent results were different for skinned tangents.
APEX Turbulence / Particles 1.2.4
- Fixed a rare condition issue due to improper scene locking with PhysX 3.2.x in turbulence.
- Fixed GPU memory leak with turbulence/convex collision.
- Fixed an LOD issue with ParticleIOS that could cause a crash.
NVIDIA APEX SDK 1.2.4 can be downloaded through Developer Support Center (our registration guide).
“We are excited to extend our PhysX and APEX technologies to Microsoft’s Xbox One console”, said Mike Skolones, product manager for the PhysX SDK at NVIDIA.
“We look forward to the Xbox developer community taking advantage of PhysX and APEX along with Xbox One’s processing power, programmability and next-generation features to design cutting-edge games that deliver an unparalleled and ultra-realistic experience”
Earlier this year, it was also stated that PhysX SDK/APEX SDK will be available for Sony’s Playstation 4 console.
We assume that similar to PS4 case, PhysX for Xbox One will only use console’s CPU for physics calculations, at least at the beginning.
New PhysXLab 1.2.3 was released by NVIDIA today.
Update: PhysXLab 1.2.4 is released
Only several minor bug-fixes and updated PhysX/APEX SDK compatibility are included in 1.2.3 version.
|PhysXLab 1.2.3 – Release Notes|
- APEX 1.2.3 support.
- PhysX SDK 3.2.3 support.
- Hull simplification.
- DE7358: Bad APEX convex hull creation in 3.x.
- DE7335: T-junction removal is causing crashes.
- DE7104: Min Fracture Depth not being set in the exported APX if set in the playground.
The following demo is quite interesting – it is showcasing real-time particle simulation, using APEX Turbulence module and CryEngine from Crytek.
This one should be approached carefully: it is not the official feature of the CryEngine, more like a proof of concept of how APEX can be utilized in non-PhysX SDK based game engine.
Demo is using custom particle system (simplified version of the one from PhysX SDK) and Turbulence driven velocity fields to control particle motion. Interactions with level geometry and rigid body objects are also supported.
Such technology may offer some interesting new possibilities for GPU PhysX games.