Для того чтобы подключить к своей программе VRD нужно скопировать в начало файла где у вас инициализируется сам PhysX следующий код:
#define SAMPLES_VRD_HOST "localhost"
#define SAMPLES_VRD_PORT NX_DBG_DEFAULT_PORT
#define SAMPLES_VRD_EVENTMASK NX_DBG_EVENTMASK_EVERYTHING
int gAppData;
void vrd_init()
{
NxRemoteDebugger* pRemDeb = g_pPhysicsSDK->getFoundationSDK().getRemoteDebugger();
pRemDeb->connect(SAMPLES_VRD_HOST, SAMPLES_VRD_PORT, SAMPLES_VRD_EVENTMASK);
if (pRemDeb->isConnected())
{
pRemDeb->createObject(&gAppData, NX_DBG_OBJECTTYPE_GENERIC,
"AppData", NX_DBG_EVENTMASK_EVERYTHING);
pRemDeb->writeParameter("Info text", &gAppData, true,
"Info", NX_DBG_EVENTMASK_EVERYTHING);
pRemDeb->createObject(&gAppData+1, NX_DBG_OBJECTTYPE_VECTOR,
"AVector", NX_DBG_EVENTMASK_EVERYTHING);
pRemDeb->writeParameter(NxVec3(0, 0, 0), &gAppData+1, true,
"Origin", NX_DBG_EVENTMASK_EVERYTHING);
pRemDeb->writeParameter(NxVec3(1, 1, 1), &gAppData+1, true,
"Extent", NX_DBG_EVENTMASK_EVERYTHING);
pRemDeb->addChild(&gAppData, &gAppData+1, NX_DBG_EVENTMASK_EVERYTHING);
gAppData = 1;
}
}
Все просто, теперь если запустить дебагер перед стартом приложения он отловит данные из него. Полученными объектами можно манипулировать, все манипуляции отразятся на объектах в вашей программе. (Код взят из PhysX SDK 2.8.1)
Если вы хотите сменить координатную систему (это нужно если вы работаете с DX, а не OpenGL):