diff options
| author | Sheikh Dawood Abdul Ajees <[email protected]> | 2017-09-15 15:41:57 -0500 |
|---|---|---|
| committer | Sheikh Dawood Abdul Ajees <[email protected]> | 2017-09-15 15:41:57 -0500 |
| commit | d1c812f1162e5fdb13c215792725b2591d7428f5 (patch) | |
| tree | 407056c45c7e9320c48fca6a3697d81a061c4ea0 /PhysX_3.4/Source/SimulationController/src/ScScene.cpp | |
| parent | PhysX 3.4, APEX 1.4 patch release @22121272 (diff) | |
| download | physx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.tar.xz physx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.zip | |
PhysX 3.4.1, APEX 1.4.1 Release @22845541v3.4.1
Diffstat (limited to 'PhysX_3.4/Source/SimulationController/src/ScScene.cpp')
| -rw-r--r-- | PhysX_3.4/Source/SimulationController/src/ScScene.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/PhysX_3.4/Source/SimulationController/src/ScScene.cpp b/PhysX_3.4/Source/SimulationController/src/ScScene.cpp index 1f161f18..2099b86d 100644 --- a/PhysX_3.4/Source/SimulationController/src/ScScene.cpp +++ b/PhysX_3.4/Source/SimulationController/src/ScScene.cpp @@ -619,6 +619,7 @@ Sc::Scene::Scene(const PxSceneDesc& desc, PxU64 contextID) : mCollideStep (contextID, this, "ScScene.collideStep"), mTaskPool (16384), mContactReportsNeedPostSolverVelocity(false), + mUseGpuRigidBodies (false), mSimulationStage (SimulationStage::eCOMPLETE), mTmpConstraintGroupRootBuffer (NULL), mPosePreviewBodies (PX_DEBUG_EXP("scenePosePreviewBodies")) @@ -694,6 +695,8 @@ Sc::Scene::Scene(const PxSceneDesc& desc, PxU64 contextID) : } #endif + mUseGpuRigidBodies = useGpuBroadphase || useGpuDynamics; + mLLContext = PX_NEW(PxsContext)(desc, mTaskManager, mTaskPool, contextID); if (mLLContext == 0) @@ -773,7 +776,7 @@ Sc::Scene::Scene(const PxSceneDesc& desc, PxU64 contextID) : mDynamicsContext = createDynamicsContext (&mLLContext->getNpMemBlockPool(), mLLContext->getScratchAllocator(), mLLContext->getTaskPool(), mLLContext->getSimStats(), &mLLContext->getTaskManager(), allocatorCallback, &getMaterialManager(), - &mSimpleIslandManager->getAccurateIslandSim(), contextID, mEnableStabilization, useEnhancedDeterminism, useAdaptiveForce); + &mSimpleIslandManager->getAccurateIslandSim(), contextID, mEnableStabilization, useEnhancedDeterminism, useAdaptiveForce, desc.maxBiasCoefficient); mLLContext->setNphaseImplementationContext(createNphaseImplementationContext(*mLLContext, &mSimpleIslandManager->getAccurateIslandSim())); @@ -786,7 +789,7 @@ Sc::Scene::Scene(const PxSceneDesc& desc, PxU64 contextID) : { #if PX_SUPPORT_GPU_PHYSX mDynamicsContext = PxvGetPhysXGpu(true)->createGpuDynamicsContext(mLLContext->getTaskPool(), mGpuWranglerManagers, mLLContext->getTaskManager().getGpuDispatcher(), NULL, - desc.gpuDynamicsConfig, &mSimpleIslandManager->getAccurateIslandSim(), desc.gpuMaxNumPartitions, mEnableStabilization, useEnhancedDeterminism, useAdaptiveForce, desc.gpuComputeVersion, mLLContext->getSimStats(), + desc.gpuDynamicsConfig, &mSimpleIslandManager->getAccurateIslandSim(), desc.gpuMaxNumPartitions, mEnableStabilization, useEnhancedDeterminism, useAdaptiveForce, desc.maxBiasCoefficient, desc.gpuComputeVersion, mLLContext->getSimStats(), mHeapMemoryAllocationManager); void* contactStreamBase = NULL; @@ -838,6 +841,7 @@ Sc::Scene::Scene(const PxSceneDesc& desc, PxU64 contextID) : setSolverBatchSize(desc.solverBatchSize); mDynamicsContext->setFrictionOffsetThreshold(desc.frictionOffsetThreshold); mDynamicsContext->setCCDSeparationThreshold(desc.ccdMaxSeparation); + mDynamicsContext->setSolverOffsetSlop(desc.solverOffsetSlop); const PxTolerancesScale& scale = Physics::getInstance().getTolerancesScale(); mDynamicsContext->setCorrelationDistance(0.025f * scale.length); @@ -2129,6 +2133,8 @@ void Sc::Scene::postBroadPhase(PxBaseTask* continuation) void Sc::Scene::postBroadPhaseStage2(PxBaseTask* continuation) { + // - Wakes actors that lost touch if appropriate + processLostTouchPairs(); //Release unused Cms back to the pool (later, this needs to be done in a thread-safe way from multiple worker threads mIslandInsertion.setContinuation(continuation); mRegisterContactManagers.setContinuation(continuation); @@ -6056,8 +6062,8 @@ void Sc::Scene::islandInsertion(PxBaseTask* /*continuation*/) } } - // - Wakes actors that lost touch if appropriate - processLostTouchPairs(); + //// - Wakes actors that lost touch if appropriate + //processLostTouchPairs(); if(mCCDPass == 0) { |