NVIDIA PhysX SDK 3.0 Released

NVIDIA PhysX

NVIDIA PhysX SDK 3.0



NVIDIA has published a new major version of its PhysX SDK. As usual, you can download it from HERE (an account is required).

The version 3 of PhysX SDK is rewrite of the PhysX engine. Here are the new features:
- PhysX SDK 3.0 represents a significant rewrite of the PhysX engine.
- Focus on consoles and emerging gaming platforms.
- Improved multi-threading
- Reworked vehicle model
- New Serialization API
- Aggregates and broadphase clustering.
- Double Buffering
- Articulations
- Deformables and force fields

For more information about the new stuff of PhysX SDK 3.0, read this detailed post: PhysX SDK 3.0 has been released !

The double buffering seems to be a nice feature. Double buffering allows the client application to read and write to actors and the scene while the simulation is running on another thread. And this is exactly what I need for GeeXLab. In GeeXLab, you can start PhysX simulation in a separate Win32 thread. But while the simulation is running, you can’t modify actors properties or add new actors in the PhysX scene. I added some tweaks to bypass this issue but I’m not satisfied. I hope that double buffering can really help me.

Then you can expect new versions of GeeXLab and FluidMark in the next days…

Many things have changed and developers using PhysX in their apps will have to learn new things.

NVIDIA PhysX SDK 3.0




As you can see, according to the doc, here are the new paths and libs you have to use in your projects:
Paths:

"PhysXSDK/pxtask/include"
"PhysXSDK/PxToolkit/include"
"PhysXFoundationSDK"
"PhysXFoundationSDK/internal/include"
"PhysXProfileSDK/sdk/sdk/include"
"PhysXVisualDebuggerSDK/PVDCommLayer/Public"
"SDKs/PhysXAPI"
"SDKs/GeomUtils/headers"
"SDKs/RepX/include"
"SDKs/PhysXAPI/characterkinematic"

Libs:

Foundation
PhysX3Common
PhysX3CharacterDynamic
PhysX3CharacterKinematic
PhysX3Vehicle
PhysX3Cooking
PhysX3
PhysX3Extensions
LowLevel
GeomUtils
SceneQuery
SimulationController
PvdRuntime
RepX3

Of course, all libs are not required. For example PhysX3Vehicle.lib is required if Vehicule module is used.

Here is a code snippet that show how to create a SDK object:

#include "PxPhysicsAPI.h"
PxPhysics* sdk;
sdk = PxCreatePhysics(PX_PHYSICS_VERSION, 
                      NULL, NULL, 
                      PxTolerancesScale(), true);


Here are the screenshots of the new samples:

NVIDIA PhysX SDK 3.0

NVIDIA PhysX SDK 3.0

NVIDIA PhysX SDK 3.0

[Forum thread]




Geeks3D.com

↑ Grab this Headline Animator