Game Development Community

T3D 1.1 Beta3 - Installing Physx SDK 2.8.5...

by CSMP · in Torque 3D Professional · 04/05/2011 (1:28 pm) · 15 replies

Recently I have been trying to get the PhysX Demo Project working, I've downloaded and installed the latest PhysX SDK(BTW 2.8.3 is not available from the website) and tried to recompile, obviously this didnt work because in the project file the PhysX SDK directory has the version number in the path... Since I'm using a differant version number I have changed the "Additional Include Dirs" values in nxCharacter and nxuStream, considering those are the only two places I've found the PhysX SDK links I recompiled...

This is where the strange part comes in... When I recompiled it still has the same error in which it is looking for 2.8.3 sdk directories:
16>c1xx : fatal error C1083: Cannot open source file: 'C:\Program Files\NVIDIA Corporation\NVIDIA PhysX SDK\v2.8.3\Tools\NxuStream2\NXU_ColladaExport.cpp': No such file or directory
16>Build Time 0:00
16>Build log was saved at "file://d:\Torque\MPGE3D\Demos\Physics\buildFiles\Link\Vc2k8.Release.Win32\nxuStream\BuildLog.htm"
16>nxuStream - 21 error(s), 0 warning(s)

I'm not even sure why 'nxuStream' is looking in the 2.8.3 directory as I've changed it to:
C:/Program Files (x86)/NVIDIA Corporation/NVIDIA PhysX SDK/v2.8.4_win/

Are there any other areas that need to be modified for the PhysX SDK 2.8.5 to work with the PhysX Demo Project?

#1
04/05/2011 (1:51 pm)
Greetings!

We've already modified 1.1 Final to make use of PhysX 2.8.4.5 (THREED-1431). Other than modifying the directory for the project generator, and copying all the appropriate PhysX DLLs into your game directory (new for 2.8.4.x), I found I needed to change the following to prevent a crash:

pxPlayer.cpp: PxPlayer::findContact() needed to have the following:

NxCapsuleShape *shape = dynamic_cast<NxCapsuleShape*>( mController->getActor()->getShapes()[0] );


changed to a reinterpret_cast<> to prevent a crash:

NxCapsuleShape *shape = reinterpret_cast<NxCapsuleShape*>( mController->getActor()->getShapes()[0] );


- Dave
#2
04/05/2011 (2:21 pm)
Thats great to know, but I'm still having problems getting the compiler to recognize the 2.8.4.5 directory paths, and considering T3D final is not out it doesnt help me in my current situation.

I've tried searching the forums and asking on the IRC channel and I'm still having problems getting the new physx SDK to work with T3D 1.1 Beta3.
#3
04/05/2011 (3:08 pm)
Greetings!

Ah, sorry. I must have misunderstood. So you're having trouble with compiling? I modified Tools/projectGenerator/modules/physX.inc to point to the new paths for 2.8.4.5. Here are the appropriate changes in that file:

...
    if (!$PHYSX_SDK_PATH)
    {
        // This is default location for the latest version
        $PHYSX_SDK_PATH = "C:/Program Files/NVIDIA Corporation/NVIDIA PhysX SDK/v2.8.4_win";

        // If the path doesn't exist then attempt to fall back to the 64-bit path
        if (!file_exists($PHYSX_SDK_PATH))
           $PHYSX_SDK_PATH = "C:/Program Files (x86)/NVIDIA Corporation/NVIDIA PhysX SDK/v2.8.4_win";

        // If there is an environment variable set then use it
        // to override the default
        $ENV_PATH = getenv( "TORQUE_PHYSX_PATH" );
...

I believe that should get you going from Beta 3.

- Dave
#4
04/05/2011 (5:04 pm)
Thanks for the help Dave, Its really strange that the Visual Studio properties do not modify the PhysX include dir's, is there any reason for this?
#5
04/05/2011 (9:10 pm)
@CSMP

The PhysX SDK doesn't automatically add itself to to the VS include paths like other SDKs. So you have to hook it up manually.

We try to point it to the right directory within the project generator, but that was often tricky.
#6
04/06/2011 (2:08 am)
seeing as sdk 2.8.3 has been removed from common dev downloads,
and only sdk 2.8.4.5 is now available,
and soon there will be sdk 3.0,
a cleaner way to add physx support needs to be found.
#7
04/06/2011 (8:45 pm)
@deepscratch

I wish there was.

NVidia doesn't set any environment variables to where the SDK is installed or set any #defines in the code for what verson of PhysX is being compiled against.

Because of this we cannot make the process any smoother than it is.
#8
04/10/2011 (11:54 pm)
@David Wyand, thanks for pointing the solution for that problem. I also encountered and after applying your changes, i can run physX demo now
#9
11/03/2011 (7:01 pm)
@David Wyand
If a project has already been generated, will it use/find this file (modules/physX.inc)?
Thanks

The current version of T3D (dated 6-1-2011) and phyX.inc references the 2.8.4_win version of PhysX.

#10
11/16/2011 (5:52 am)
Would be nice to have dowload link here, i cant find it on the devlopers page at nvidia.I am regestered and did log in. so if if the 2.8.4.5sdk dosent ship with 1.2 T3d its going to be hard for some of us to get it.i have tried for 2 days now at there dload site. it dosent list any core sdk downloads. so im stuck with sdk 2.3.1.

Im going to to dig thru thr sdk and see if there is a patch updater,doughtfull but worth a shot.
#11
11/16/2011 (1:15 pm)
2.8.4.6 is available, you should not have an issue with that version
#12
11/16/2011 (1:29 pm)
I have been told that this was discussed with Nvidia and that they have declined to allow us to host a download of their SDK. Unfortunate, but I'm sure they have their reasons.
#13
11/28/2011 (12:42 pm)
Will 3.1 work with T3D?
#14
11/28/2011 (12:57 pm)
No, 3.x will not work with T3D, only 2.8.4.5 or 2.8.4.6.
#15
03/04/2012 (1:29 pm)
Success!

In T3D V1.2 I just DL the PhysX SDK 2.8.4.6
and ran the installer.

Then ran T3D and generated the First Person TUT Project and it
installed everything OK.

You Can't use anything about 2.8.4.6 PhysX SDK in T3D V1.2


Thanks everyone for the info...