Archive for 2018
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.
* 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: github.com/NVIDIAGameWorks/PhysX
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 github.com/NVIDIAGameWorks/PhysX-3.4
NVIDIA has finally released beta version of the official FleX plug-in for the Unity engine.
FleX plug-in is available free of charge at Unity Asset Store.
NVIDIA FleX is a unified particle-based simulation library which can efficiently simulate variety of objects and materials, such as rigids, fluids, cloth and softbodies.
Latest version of FleX supports GPU acceleration through DX12 and CUDA, and will work on both NVIDIA and AMD GPUs.
As announced at GDC 2018 talk “Nvidia GameWorks: New Simulation Features” (which you can view at GDC Vault now) PhysX SDK team is planning to shift the development focus from reaching maximum performance to increasing quality of the simulation, to better comprehend use cases such as robotic simulation and VR games.
Common problems, that one can face with current PhysX rigid body solver (and other game oriented physics engines in general) include innacurate simulation of complex jointed objects, erratic interactions between objects with high mass difference and instability of small scale simulations.
NVIDIA has officially released 1.2.0 version of the FleX particle based simulation library.
New release includes various fixes and improvements, such as better support for softbody simulation and asynchronous compute API.
|NVIDIA FLEX SDK 1.2.0: Release Notes|
- Improved collision against moving shapes, solver now correctly interpolates shape transforms for substeps
- Improved Linux support, removed GLUT/GLEW dependencies
- New API for adding soft-joints (dynamic shape-matching constraints) via. the extensions API, see NvFlexExtCreateSoftJoint()
- New API to retrieve particle neighbor information, see NvFlexGetNeighbors()
- New API to support shape collision filtering, collision channels can be assigned to particles and shapes to specify which pairs collide, see NvFlexPhase
- New API to support per-shape plastic deformation, it is now possible to specify plastic creep and threshold coefficient on a per-shape basis (previous global settings), see NvFlexSetRigids()
- New API to selectively disable solver features, this can lead to improved performance, see NvFlexFeatureMode, replaces global FlexParams::fluid option
- New API change, NvFlexUpdateTriangleMesh() now takes vertices with 16-byte stride to remove CPU synchronization step in D3D implementations