:: Back to news index ::

Archive for the ‘PhysX SDK’ tag

PhysX SDK 4.0 is available

with one comment

As promised, NVIDIA has released new PhysX SDK 4.0 physics engine.

Unlike the change from version 2.8 to 3.0, the upgrade to version 4 does not bring any significant API changes. However, it was decided to mark this release with a major version increment because of two major innovations that were added: The TGS solver and the reduced coordinate articulations.

Key Features:

* Temporal Gauss-Seidel (TGS) solver

TGS solver offers several advantages over default PGS solver – improved convergence, improved handling of high-mass ratios, minimized energy introduced when correcting penetrations and improved joint drive accuracy.

While TGS solver is generally little slover thas default PGS, it can be simulated on both CPU or GPU.

* Reduced coordinate articulations

In comparison to default maximal articulations, this articulation implementation is designed for robotics use-cases. It supports revolute, prismatic, fixed and spherical joints. It was written to favor accurate simulation and produces results that are very close to analytic models of kinematic chains. In addition, it provides inverse dynamics functionality.

* New automatic box prunning (ABP) broad-phase

ABP broad-phase is an revisited implementation of multi-box prunning (introduced in SDK 3.4). It automatically manages world bounds and broad-phase regions, thus offering better out of the box performance for many use cases. It is now enabled as default broad-phase solution.

* Optional torsional friction model to simulate rotational friction when there is just a single point of contact.

* New BVH structure supporting better performance for actors with many shapes.

And many more ! Full Release Notes for the 4.0 release can be found here.

PhysX SDK 4.0 will full source code under BSD license is available at:

Written by Zogrim

December 20th, 2018 at 9:45 pm

Posted in PhysX SDK

Tagged with , ,

NVIDIA announces PhysX SDK 4.0, makes engine open-source under BSD-3 license

with one comment

NVIDIA has revealed a new PhysX SDK 4.0 version of the PhysX engine, which incorporates numerous improvements in simulation stability and accuracy (as hinted previously at GDC 2018).

Update: PhysX SDK 4.0 is available

New features include:

  • Temporal Gauss-Seidel Solver (TGS), which makes machinery, characters/ragdolls, and anything else that is jointed or articulated much more robust. TGS dynamically re-computes constraints with each iteration, based on bodies’ relative motion.
  • Overall stability has been improved with reduced coordinate articulations and joint improvements.
  • Increased scalability via new filtering rules for kinematics and statics.
  • New Bounding Volume Hierarchies support fast scene queries for actors with a huge number of shapes.
  • Infrastructure can now incorporate Cmake projects.
  • In addition, both new PhysX SDK 4.0 (starting December 20) and current PhysX SDK 3.4 (starting today) are now available as open-source under 3-Clause BSD license.

    (Please note that BSD-3 licensed platforms include Windows, Linux, Mac OS X, iOS and Android, but not Xbox One, PS4 and Switch).

    PhysX SDK 3.4 source code as available at

    Written by Zogrim

    December 3rd, 2018 at 8:03 pm

    GDC 2017: NVIDIA Gameworks goes DX12 and more !

    with 3 comments

    Quite an interesting beginning of GDC 2017NVIDIA has not only presented their newest flagship GPU, GeForce GTX 1080 Ti, but also announced several additions to the GameWorks libraries.

    Let’s take a closer look.

    FleX & Flow

    NVIDIA FleX, unified particle-based solver, and NVIDIA Flow, an engine for simulation of smoke and fire, now both feature hardware agnostic DX12 implementation !

    This is exciting news not only for gamers, but also for 3d party companies, already utilizing FleX in their products, such as Lucid Physics from Ephere.

    Read the rest of this entry »

    Written by Zogrim

    March 1st, 2017 at 10:04 am

    Pre-release version of PhysX SDK 3.4 is now available on GitHub

    with 4 comments

    NVIDIA has finally released first public version of the newest PhysX SDK 3.4 (and corresponding APEX 1.4). Please mind the pre-release status, final SDK should be available end of February 2017.

    [Update - March 01 2017]: Final release of PhysX SDK 3.4 is now released on GitHub

    One of the biggest features of the SDK 3.4 is the introduction of the GPU accelerated rigid body feature (GRB). It supports the entire rigid body pipeline feature-set (except for articulations). The state of GPU rigid bodies can be modified and queried using the exact same API as used for CPU rigid bodies. GPU rigid bodies can interact with clothing and particles in the same way that CPU rigid bodies can and can easily be used in conjunction with character controllers and vehicles.

    Leveraging computing capabilities of a graphic processor, GPU accelerated rigid bodies can provide significant performance advantages over CPU simulation in scenes with several thousand active rigid bodies.

    Read the rest of this entry »

    Written by Zogrim

    January 13th, 2017 at 10:18 pm

    Posted in PhysX SDK

    Tagged with ,

    GDC 2016: PhysX GPU Rigid Body and NVIDIA Flow

    with 15 comments

    At Game Developer Conference 2016 (GDC), NVIDIA has announced the GameWorks 3.1 development kit, which introduces several new physics simulation solutions – PhysX GRB and NVIDIA Flow. Let’s take a look at them more closely:

    PhysX GRB

    PhysX GRB is the new GPU accelerated Rigid Body simulation pipeline. It is based on heavily modified branch of PhysX SDK 3.4, but has all the features of the standard SDK and almost identical API. PhysX GRB is currently utilizing CUDA and requires NVIDIA card for GPU acceleration.

    Unlike previous implementations, PhysX GRB is featuring hybrid CPU/GPU rigid body solver, and the simulation can be executed either on CPU or GPU with almost no difference in behavior, supported object types or features (GPU articulations are not implemented yet, however).

    GRB provides GPU accelerated broad phase, contact generation, constraint solver and body/shape management. In addition, it introduces new implementations of island management and pair management that have been optimized to tolerate the order of magnitude more complex scenes that can be simulated on GPU compared to CPU. New mechanisms to parallelize event notification callbacks and a new feature to lazily update scene query asynchronously are also provided.

    Read the rest of this entry »

    Written by Zogrim

    March 17th, 2016 at 3:07 am

    PhysX SDK 3.3 source code is now available for free

    with 3 comments

    Quite astonishing news are coming from Game Developers Conference 2015 – NVIDIA has just announced that latest PhysX SDK 3.3 is now available for free with full source code for Windows, Linux, OS X and Android. Source code release of APEX Destruction and APEX Clothing modules is also planned.

    Update: iOS source now added !

    Previously, only binary distrubutions of PhysX SDK were available for free for commercial (Windows PC) and non-commercial (Linux, OS X, Android) use. PhysX engine for consoles if still subject of paid licensing.

    This desicion will certanly help to push PhysX’s already wide adoption among developers even further and put an additional stress on competitive solutions.

    Full instruction on PhysX SDK source code access can be found here.

    Update: Latest source code branch is located here –

    Written by Zogrim

    March 4th, 2015 at 11:11 pm

    Posted in PhysX SDK

    Tagged with , , ,

    PhysX SDK 3.3.2 arrives, adds GPU acceleration support on Linux

    with 3 comments

    New PhysX SDK 3.3.2 release is available for download.

    Update March 2015: Bug-fixing PhysX SDK 3.3.3 release is available. Release Notes.

    Windows, Linux, OS X, Android and iOS builds are now available for free with source code.


    Among various bug-fixes, this version also features support for GPU acceleration on Linux platform (CUDA-capable devices only) and reworked documentation.

    PhysX SDK 3.3.2: Release Notes


  • Added:
    • The PhysXCommon/64.dll, nvcuda.dll and PhysXUpdateLoader/64.dll are loaded and checked for the NVIDIA Corporation digital signature. The signature is expected on all NVIDIA Corporation provided dlls. The application will exit if the signature check fails.
    • Added the PxDefaultBufferedProfiler extension for simplified SDK profile events extraction.
    • PxSceneDesc::sanityBounds allows a bounding box to be set for validating the position coordinates of inserted or updated rigid actors and articulations.
    • Linux: Now supports GPU PhysX.
    • Added set/getRunProfiled() for PxDefaultCpuDispatcher to control profiling at task level.
    • Android: Support for x86 based devices was added.
    • PxProfileEventHandler::durationToNanoseconds() added. Translates event duration in timestamp (cycles) into nanoseconds.
    • Added SnippetProfileZone to show how to retrieve profiling information.
    • Added SnippetCustomJoint to better illustrate custom joint implementation, and removed SnippetExtension.
    • Added SnippetStepper to demonstrate kinematic updates while substepping with tasks.
  • Fixed:
    • Significant revision of the user’s guide. Both structure and most content have been modified.
    • PxTask::runProfiled() now takes threadId as a parameter.
    • The static pruner now issues a performance warning in debug and checked configurations when a tree rebuild occurs and the tree is not empty.
    • PxSceneDesc::staticStructure now defaults to PxPruningStructure::eDYNAMIC_AABB_TREE.
    • Linux: Switched to shared libraries.
    • Profile zone event names changed to match function calls.
    • Overlapping read/write errors will now issue a PxErrorCode::eINVALID_OPERATION rather than PxErrorCode::eDEBUG_INFO.
    • Improved SnippetToleranceScale to better demonstrate the intended use case.
    • Increased 126 characters limit for warnings on unix platforms, 1k limit on all platforms.
    • PhysXCommon dll load within PhysX dll now respects dll name. Please see the manual’s PhysXCommon DLL load section.
    • Fixed search function of user’s guide.
    • Foundation math classes now have in-place arithmetic operators (+= etc).
  • Deprecated:
    • Indexing operators taking signed integers in PxVec3, PxVec4, PxMat33, PxMat44, PxStrideIterator have been deprecated.
  • Read the rest of this entry »

    Written by Zogrim

    October 11th, 2014 at 4:13 pm

    Posted in PhysX SDK

    Tagged with , , ,

    PhysX SDK 3.3.1 is available

    without comments

    NVIDIA has released minor 3.3.1 update for PhysX SDK 3.3 branch.

    Update: PhysX SDK 3.3.2 released


    PhysX SDK 3.3.1 release is mostly focused on various bug-fixes and optimizations.

    PhysX SDK 3.3.1: Release Notes


  • Added:
    • The friction model can now be changed after scene instantiation with PxScene::setFrictionType. The friction model can also be queried with PxScene::getFrictionType.
  • Changed:
    • PxDefaultSimulationFilterShader now supports particles and cloth as well.
    • PxSimulationFilterCallback: the provided actor and shape pointers are now defined as const. Note: this is no behavior change, it was never allowed to write to those objects from within the callback.
    • The PxTriangleMeshFlag::eHAS_16BIT_TRIANGLE_INDICES and PxTriangleMeshFlag::eHAS_ADJACENCY_INFO enums have been deprecated. Please use PxTriangleMeshFlag::e16_BIT_INDICES and PxTriangleMeshFlag::eADJACENCY_INFO instead.
    • Removed following functions from the API for platforms which do not support CUDA: PxGetSuggestedCudaDeviceOrdinal, PxCreateCudaContextManager, PxLoadPhysxGPUModule.
    • PxShape::getMaterialFromInternalFaceIndex will now return a NULL pointer and produce a warning for input faceIndex value of 0xFFFFffff. This change only applies to mesh and heightfield shapes.
  • Fixed:
    • Fixed concurrency issue on windows. Calling PxScene::simulate on multiple scenes concurrently may have caused a deadlock. This only happened if the scenes shared a single PxCpuDispatcher and the dispatcher was configured to use one worker thread only.
  • Read the rest of this entry »

    Written by Zogrim

    April 10th, 2014 at 10:26 am

    Posted in PhysX SDK

    Tagged with , ,

    PhysX SDK 3.2.5 and APEX 1.2.5 are available

    without comments

    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

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

    Read the rest of this entry »

    Written by Zogrim

    December 12th, 2013 at 9:14 pm

    Posted in PhysX SDK, PhysX Tools

    Tagged with , ,

    PhysX SDK 3.3.0: Final Release

    with 6 comments

    Final release of the new PhysX SDK 3.3 is now available for public, after two rounds of Beta Testing.

    Update: PhysX SDK 3.3.1 is available

    If you are not familiar with SDK 3.3 branch yet, we recommend you to refer Beta-1 and Beta-2 previews for features description, and for “The Evolution of the PhysX SDK” article for the performance improvements (and there are plenty) data.

    As compared with PhysX 3.3 Beta-2, final release is including a set of bug-fixes among with minor improvements, and also more detailed documentation.

    Full SDK 3.3.0 Release Notes can be viewed here.

    PhysX SDK 3.3.0 Final Release (for PC, Linux, OSX, Android and WinRT) is available for download through APEX/PhysX Registered Developer Program (our registration guide).

    Written by Zogrim

    December 11th, 2013 at 1:14 am

    Posted in PhysX SDK

    Tagged with , ,

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