:: Back to news index ::

Archive for the ‘PhysX SDK’ Category

Introducing NVIDIA FLEX: unified GPU PhysX solver

with 8 comments

About a month ago, NVIDIA has revealed a new unified GPU accelerated physics framework – NVIDIA FLEX – at “The Way It’s Meant To Be Played” press event in Montreal.

Today, Miles Macklin, physics programmer at NVIDIA and lead-developer of the FLEX system, has joined us to share first-hand details about this exciting technology. So what is the NVIDIA FLEX exactly ? What are the main features of FLEX ?

Miles Macklin: FLEX is a multi-physics solver for visual effects.

It grew out of the work I did on Position Based Fluids, which was later extended to support two-way coupling between liquids and different object types such as clothing and rigid bodies.

The feature set is largely inspired by tools like Maya’s nCloth and Softimage’s Lagoa. The goal is to bring the capabilities of these off-line applications to real-time games.

Read the rest of this entry »

Written by Zogrim

November 12th, 2013 at 11:08 pm

PhysX SDK 3.3 Beta is available for public

with 3 comments

NVIDIA has released PhysX SDK 3.3 Beta 2 – first public Beta release of the new major version of the PhysX SDK 3.x

Update: PhysX SDK 3.3.0: Final Release

PhysX SDK 3.3 introduces a broad set of the new features and also presents a vast performance improvement.

Please refer for SDK 3.3 Beta Preview for the detailed description of some of the features, and for “The Evolution of the PhysX SDK” article for the performance data.

PhysX SDK 3.3 Beta 2 – Release Notes


  • Added PhysXDevice/64.dll to the PC packages. See Windows readme for more details.
  • Added support for the NVIDIA Kepler GPU architecture.
  • Added support for the Nintendo Wii U console.
  • Added support for Windows 8 Modern UI applications (ARM and x86).
  • Ported our SIMD library to the ARM NEON architecture.
  • Multi Box Pruning (MBP) is offered as an alternative broad phase algorithm to Sweep And Prune (SAP). MBP shows improved performance when all objects are moving or when inserting large numbers of objects. Its generic performance might be inferior to SAP when many objects are sleeping.
  • Significant performance and stability optimizations for rigid body solver.
  • New function to compute the minimum translational distance and direction to separate two overlapping geometry objects.
  • Improved Persisten Contact Manifold (PCM) contact generation mode is now often faster and more robust than the still available legacy path.
  • Improved performance of scene queries and contact reports.
  • Improved behavior and performance of Continuous Collision Detection (CCD).
  • Reduced memory footprint of rigid body classes.
  • Added support for sharing shapes among rigid bodies.
  • Significantly improved cloth behavior and GPU performance.
  • Added support for cloth colliding against itself, other cloth instances, and scene geometry.
  • Improved useability of binary and xml serialization.
  • Memory can be saved for objects that do not participate in the simulation and are used for scene queries only. For details see the new flag PxActorFlag::eDISABLE_SIMULATION.

Full PhysX SDK 3.3 Beta 2 Release Notes can be viewed here.

Read the rest of this entry »

Written by Zogrim

July 11th, 2013 at 6:33 pm

Posted in PhysX SDK

Tagged with , ,

PhysX SDK and APEX now on Xbox One

without comments

NVIDIA has announced that both PhysX SDK physics engine and APEX dynamics framework will offer support for next-generation Xbox One console from Microsoft.

“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.

Written by Zogrim

May 21st, 2013 at 9:37 pm

Multithreaded performance scaling in PhysX SDK

with 6 comments

Recent “The Evolution of PhysX” article has unvealed the current situation with performance improvements among various PhysX SDK vesions, however, one interesting case has remained outside the coverage – performance scaling in multithreaded environments.

It is known that, while PhysX SDK 2.8 has rather limited multi-threading capabilities (mostly working on per-scene or per-compartment basis), PhysX SDK 3.x can distribute various tasks across worker threads much more effective, and thus offer better support for multi-core CPUs.

But how well does multi-threading actually work in PhysX 3 (we’ll take the latest 3.3 version)? Using the same PEEL (Physics Engine Evaluation Lab) tool to the record the performance metrics, we will try to shed the light on this question.

Scene #1 – random dynamic primitives in a box

Static container filled with 256 random primitives (sphere, box, capsule).

Read the rest of this entry »

Written by Zogrim

May 12th, 2013 at 11:08 pm

The Evolution of PhysX SDK, performance-wise

with 6 comments

A quite interesting, unexpected and a little emotional article – The Evolution of PhysX – was published today by Pierre Terdiman, senior software engineer in NVIDIA and one of the developers of the original NovodeX engine.

Update: Multithreaded performance scaling in PhysX SDK

The article provides in-depth performance comparison between various versions of PhysX SDK (2.8.4, 3.2 and 3.3 Beta), using well-known open-source Bullet physics engine as as a reference point.

The performance tests were performed using PEELPhysics Engine Evaluation Lab, a specialized tool that is using within NVIDIA to research behaviour and performance of various physics engines using a set of standartized scenes.

Read the rest of this entry »

Written by Zogrim

May 12th, 2013 at 12:37 pm

PhysX SDK 3.3 Closed Beta Testing begins

with 4 comments

PhysX SDK 3.x, topped by latest ’stable’ SDK 3.2.4 release, represents in many ways better and now, after three releases, relatively mature alternative to a prooven PhysX SDK 2.8.x branch.

Update: PhysX SDK 3.3 Beta is available for public

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

Read the rest of this entry »

Written by Zogrim

May 3rd, 2013 at 12:28 am

Posted in PhysX SDK

Tagged with , ,

Minor PhysX SDK 3.2.4 release is available

without comments

NVIDIA has revealed new bug-fixing release of the PhysX SDK 3.xPhysX 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

  • General
    • 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.
  • Rigid Bodies
    • 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.

Read the rest of this entry »

Written by Zogrim

April 26th, 2013 at 12:22 pm

Posted in PhysX SDK

Tagged with , ,

GDC 2013 Demo: real-time fracturing coupled with fluid simulation

with 4 comments

Destruction with real-time fracturing and dynamic fluid simulation are awesome by themselves, but what if you can get both, at the same time?

Update: Real Time Dynamic Fracture explained.

Update #2: Introduction to Position Based Fluids.

This demo, showcased at GDC 2013, was used to demonstrate several new features, which will be included in future versions of PhysX SDK and APEX – rigid body simulation with real-time fracturing, improved SPH fluid solver and interaction between the two.

Written by Zogrim

March 28th, 2013 at 11:17 am

GDC 2013: PhysX 3 cloth solver will add self-collision and inter-collision features

without comments

Special “embedded” PhysX 3 clothing solver, introduced in APEX SDK 1.2, has indeed many advantages over the previous cloth simulation solution – it is more robust, efficient, stretch-resistance.

However, due to its simplified nature, PhysX 3 cloth solver is also missing some features, such as tearing, two-way interaction with rigid bodies and self-collision support.

As the first step, updated version of the clothing solver, which will be introduced in PhysX SDK 3.3 and APEX Clothing 1.3 module, will include new self-collision algorithm, that will allow cloth to behave more naturally and also improve formation of folds and wrinkles.

In addition to self-collision, improved cloth solver also supports inter-collision between multiple cloth actors (take that, 2.8 cloth !) for qualitative simulation of complex multi-layered clothing.

For a note, full-body clothing assets, presented in the video, contain roughly ~ 10 000 simulated cloth vertices each and are running on GPU in real-time.

Written by Zogrim

March 28th, 2013 at 5:56 am

Posted in PhysX SDK, PhysX Tools

Tagged with , , , ,

GDC 2013 Demo: Real Time Dynamic Fracture with Volumetric Approximate Convex Decompositions

with one comment

Quite interesting technical demo video was revealed today by Matthias Müller-Fischer, PhysX SDK Research Lead in NVIDIA.

Update: Real Time Dynamic Fracture explained.

It is showcasing a further evolution of a dynamic real-time fracturing and GPU accelerated rigid body simulation algorithm, firstly presented at GDC 2012. As you may see, improved method works perfectly with complex arbitrary meshes, not just basic shapes.

A paper describing this technology, called “Real Time Dynamic Fracture with Volumetric Approximate Convex Decompositions”, will be available for public download later on, once it will be approved for SIGGRAPH.

Written by Zogrim

March 27th, 2013 at 3:56 pm

Copyright © 2009-2014. | About project | Privacy Policy
PhysX is trademark of NVIDIA Corporation