void Apex::Init(PxPhysics* physics, PxCooking* cooking, PxScene* scene) { mErrorCallback = ::new UserErrorCallback("ApexErrors.txt", "a",true, true); renderer = SampleRenderer::Renderer; m_renderResourceManager = new SampleApexRenderResourceManager(*renderer); NxApexSDKDesc apexDesc; NxApexCreateError errorCode; apexDesc.physXSDK = physics; apexDesc.cooking = cooking; apexDesc.outputStream = mErrorCallback; apexDesc.renderResourceManager = m_renderResourceManager; if(!apexDesc.isValid()) { return; } initialized = true; gApexSDK = NxCreateApexSDK(apexDesc, &errorCode); PX_ASSERT(gApexSDK); // Create the APEX scene NxApexSceneDesc apexSceneDesc; apexSceneDesc.scene = scene; if (!apexSceneDesc.isValid()) { return; } gApexScene = gApexSDK->createScene(apexSceneDesc); if (!gApexScene) { return; } }
bool Apex::Init(ID3D11Device* dev, ID3D11DeviceContext* devcon) { if(!InitPhysX()) return false; mDev = dev; mDevcon = devcon; // Init Apex static PxDefaultErrorCallback gDefaultErrorCallback; ZeusResourceCallback* rcallback = new ZeusResourceCallback(); NxApexSDKDesc apexDesc; apexDesc.outputStream = &gDefaultErrorCallback; apexDesc.resourceCallback = rcallback; apexDesc.physXSDK = mPhysics; apexDesc.cooking = mCooking; m_renderResourceManager = new ZeusRenderResourceManager(dev,devcon); apexDesc.renderResourceManager = m_renderResourceManager; if(apexDesc.isValid()) gApexSDK = NxCreateApexSDK(apexDesc); else return false; if(!gApexSDK) return false; // NxApexSceneDesc apexSceneDesc; // // Create the APEX scene... // // apexSceneDesc.scene = mScene[mCurrentScene]; // // if(apexSceneDesc.isValid()) // gApexScene[mCurrentScene] = gApexSDK->createScene(apexSceneDesc); // else // return false; // if(!gApexScene[mCurrentScene]) // return false; //gApexScene[mCurrentScene]->setLODResourceBudget(10000.f); //static const physx::PxU32 viewIDlookAtRightHand = gApexScene[mCurrentScene]->allocViewMatrix(physx::apex::ViewMatrixType::LOOK_AT_LH); //static const physx::PxU32 projIDperspectiveCubicRightHand = gApexScene[mCurrentScene]->allocProjMatrix(physx::apex::ProjMatrixType::USER_CUSTOMIZED); //gApexScene[mCurrentScene]->setUseViewProjMatrix(viewIDlookAtRightHand, projIDperspectiveCubicRightHand); return true; }