PhysX SDK 3.x
From PhysX Wiki
| NVIDIA PhysX SDK 3.x | |
| |
| Latest public versions | |
| Windows: | 3.2.4 |
| Linux: | 3.2.3 |
| Mac OS X: | 3.2.3 |
| Windows RT: | 3.2.3 |
| Android: | 3.2.3 |
| Official page | |
NVIDIA PhysX SDK 3.x (PhysX Software Development Kit version 3.0-3.2; PhysX 3) is a physics simulation middleware, new major version of PhysX SDK released by NVIDIA in May 2011.
While PhysX SDK 2.x is based on patchwork design and old code base, developed in Ageia and NovodeX, new PhysX SDK 3.0 has undergone arhitecture and API improvements, code was cleaned and refactored, considerable legacy cluster was removed, new features were added.
Contents |
Features
PhysX SDK 3: Features in details | Official release notes
- Hardware acceleration (only on Windows PC platform)
- On NVIDIA GPUs - Clothing solver, particles and fluids
- Rigid body dynamics
- (new in 3.2) Two collision detection systems:
- Persistent Contact Manifold
- Legacy (Separating Axis Theorem + distance-based collision detection)
- Collision primitives (capsule, sphere, box, plane, heightfield, convex, compound)
- Various joints types (fixed, distance, spherical, revolute, prismatic, D6, custom)
- Articulations - high-stable joint systems with drive model, using solver techniques similar to Featherstone
- Ragdolls
- Non-uniform mesh scaling
- Improved Continuous Collision Detection
- Flexible collision filtering
- Stable depenetration
- (new in 3.2) Coulomb friction model
- Callbacks and Contact modification
- Non-simulation objects
- Distance based collision detection
- Aggregates - collection of actors that is managed as single entity in a broadphase
- (new in 3.2) Two collision detection systems:
- Scene Queries
- Raycast, sweep and overlap tests
- Geometry queries
- Deformables
- High performance PxCloth solver for clothing simulation
- Particles and Fluids
- SPH (Smoothed Particle Hydrodynamics) or simple (without interparticles collisions) simulation
- One-way and two-way interaction with rigid bodies
- Character controller
- Kinematic Character Controller
- (new in 3.2) "Obstacles" - special objects for the CC to collide with
- Auto-stepping feature
- Non-walkable parts
- Character controller is provided with source code
- Vehicles
- Full vehicle model that includes components such as engine, clutch, gears, autobox, differential, wheels, tyres, suspensions and chassis
- (new in 3.2) N-wheeled vehicles (N > 2) and tanks
- Support for various tire types and drivable surface types
- Telemetry, vehicle state queries
- Controller input data smoothing
- Vehicle module is provided with source code
- Serialization
- Binary serialization
- API-level serialization to RepX, a versioned XML data format
- Performance optimizations
- Cross-platform SIMD implementations
- Improvements to cache efficiency and memory management
- Enhanced multi-threading (PC CPU, Xbox 360)
- Task Manager - for managing task dependencies and distributing tasks across as many worker threads
- SolverBatch feature - multiple threads for Rigid Bodies and Deformables
- Parallelization of particle/fluids simulation
- Intensive SPU usage on PS3
- Double buffering
- Contact cashing support
- Deployment
- SDK 3.x does not require installation of PhysX System Software
- Certain SDK components (articulations, heightfields) can be disabled in order to reduce memory footprint
Licensing
PhysX SDK 3.x platform availability is organized as follows:
| Platform | PhysX SDK Binary |
| Windows PC | Free for commercial and non-commercial use without restrictions |
| OS X, Linux, Android, Windows RT | Free for non-commercial or educational use. Free for commercial use if gross revenue, associated with application, is less than $100K. |
For more details on PhysX SDK source licenses, paid support options or other supported platforms (consoles, mobile devices) please refer to PhysX SDK Access page or contact NVIDIA via PhysX Licensing e-mail
Free PhysX SDK binary versions can be accessed through Developer Support Center or APEX/PhysX Registered Developer Program - registration required.
If you are experiencing trouble with registration of PhysX Developer account, please refer to our registration guide #1 (Support Center) or registration guide #2 (APEX/PhysX RDP).
|
Important note. Before using PhysX SDK 3, make sure to familiarize with PhysX SDK EULA. |
Additional tools
- PhysX Visual Debugger can be used to capture and record data from PhysX SDK for further analysis. In addition, Visual Debugger provides performance profiling capabilities (via built-in profiler).
Version history
Being in development for over three years, PhysX SDK 3.x represents a significant rewrite of the PhysX engine - this rewrite involved extensive changes to the API, removed legacy cluster and unified code base that effectively results in a new PhysX engine rather than a chart of changes based on its predecessor version.
Please Note: PhysX SDK 3.3 Closed Beta begins
| Version | Release date | Description |
| PhysX SDK 3.2 | May 10, 2012 | New alternative collision detection system (Persistent Contact Manifold), new friction model, enhanced vehicle and cloth simulation modules, refactored contact report API, many minor changes and bug-fixes. |
| PhysX SDK 3.1 | Oct 4, 2011 | Includes large number of bug fixes, optimizations. Contains various improvements for articulations and constraint solver. Introduces new PxCloth solver for clothing simulation. First public SDK that supports Android platform. |
| PhysX SDK 3.0 | May 5, 2011 | First public release of 3.x SDK series. Supports functionality of 2.x SDKs with various improvements (enhanced multi-threading, new vehicle model, etc), but some features are not fully complete yet (CCD, Deformables), as well as documentation, tutorials and samples. |
Other notes
- PhysX SDK 3.x was moved to 6 month release shedule for minor revisions (3.1, 3.2, etc).
See also
External Links
- PhysX Developer Support Center
- Official PhysX SDK page
- PhysX SDK - DevZone Forums
- NVIDIA Launches PhysX 3.0 With Support For Emerging Gaming Platforms - at NVIDIA Blog
Tutorials & Courses:
- PhysX Programming DVD-ROM Course
- PhysX 3 - basic integration tutorials
- Getting started on PhysX 3.2.1 & OpenGL
- Getting started with PhysX SDK 3.0 on Linux
Benchmarks
- The Evolution of PhysX SDK, performance-wise (PhysX SDK 2.8 vs SDK 3.x vs Bullet 2.81 benchmarks)
- Multithreaded performance scaling in PhysX SDK (PhysX SDK 2.8 vs SDK 3.3)
| |||||||||||||||||
