PhysX 3.3 for Windows
Register for GameWorks and Download Source Go to https://developer.nvidia.com/join Click Register button under Game Development with NVIDIA GameWorks™ Click Join now > Next > Submit Register your GameWorks account from email Log in Go to http://developer.nvidia.com/content/apply-access-nvidia-gameworks-source-code Enter GitHub username and accept EULA Wait an hour to be added to the Github repositiory Go to https://developer.nvidia.com/physx-sdk Click Access Source on GitHub Click link to GitHub repo and download it
Building the SDK
Building Extract zip to PhysX-3.3-master Navigate to PhysX-3.3-master\PhysXSDK Open readme_win.html Navigate to PhysX-3.3-master\PhysXSDK \Source\compiler\vc14win32 Open PhysX.sln Select Release, Debug, Checked or Profile Make sure CRT matches your project and other libraries. By default it is /MT Right Click Solution ‘PhysX’ and select Build Solution If the '__pfnDliNotifyHook2': redefinition; different type modifiers error happens.
Change PfnDliHook __pfnDliNotifyHook2 = delayHook; to const PfnDliHook __pfnDliNotifyHook2 = delayHook; in PxWindowsDelayLoadHook.cpp and WindowsCookingDelayLoadHook.cpp Build Modes Checked: Contains code to detect invalid parameters, API race conditions, contains PVD Profile: Omits checks, contains PVD Release: Minimize footprint and maximize speed. Debug: Allows for debugging in VS
Building the Samples Navigate to PhysX-3.3-master\PhysXSDK \Samples\compiler\vc14win32 Open Samples.sln Select Release, Debug, Checked or Profile Make sure CRT matches the SDK. By default it is /MT Right Click Solution ‘Samples’ and select Build Solution Right Click on the sample project you want to run and select Set as StartUp Project Press F5 to run If this didn’t work install the DirectX SDK
Building the Snippets Navigate to PhysX-3.3-master\PhysX-3.3-master\PhysXSDK\Snippets\compiler\vc14win32 Open Snippets.sln Select Release, Debug, Checked or Profile Make sure CRT matches the SDK. By default it is /MT Right Click Solution ‘Snippets’ and select Build Solution Right Click on the snippet project you want to run and select Set as StartUp Project Press F5 to run
Installing DirectX SDK Download and install DirectX SDK https://www.microsoft.com/en-ca/download/details.aspx?id=6812 If DirectX SDK fails to install... uninstall all Microsoft Visual C++ 2010 x32 or x64 Redistributable - 10.XXXX
Linking Navigate to PhysX-3.3-master\PhysX-3.3-master\PhysXSDK\Bin\vc14win32 Copy all .dll files into your directory with your exe Navigate to PhysX-3.3-master\PhysX-3.3-master\PhysXSDK\Lib\vc14win32 Copy all .lib files to your projects lib directory Navigate to PhysX-3.3-master\PhysX-3.3-master\PhysXSDK Move Include folder to your projects include directory Link as normal
Headers PxPhysicsAPI.h - Includes All of the PhysX API. But you can also include subsets selectively. Libraries At a minimum, link against
PhysX3_x86.lib PhysX3Common_ x86.lib
Ensure you use the same C runtime library (CRT) settings. By default PhysX uses /MT which is the Multi- Threaded Static CRT. This can be changed in the visual studio project properties.
Redistribution PhysX3Common_*.dll will always be needed. PhysX3_*.dll will always be needed. PhysX3Cooking_*.dll you only need to bundle if your application cooks geometry data on the fly. PhysX3GPU_*.dll is only needed if your application runs some simulation on the GPU. PhysX3CharacterKinematic_*.dll is only needed if your application uses the character controller.