31 #ifndef PX_PHYSICS_NX_SCENEDESC 32 #define PX_PHYSICS_NX_SCENEDESC 50 class PxCudaContextManager;
107 eBUILD_DISABLED_COMMIT_DISABLED
178 eENABLE_ACTIVE_ACTORS = (1<<0),
192 eENABLE_CCD = (1<<1),
213 eDISABLE_CCD_RESWEEP = (1<<2),
222 eADAPTIVE_FORCE = (1<<3),
231 eENABLE_PCM = (1 << 6),
241 eDISABLE_CONTACT_REPORT_BUFFER_RESIZE = (1 << 7),
253 eDISABLE_CONTACT_CACHE = (1 << 8),
270 eREQUIRE_RW_LOCK = (1 << 9),
279 eENABLE_STABILIZATION = (1 << 10),
289 eENABLE_AVERAGE_POINT = (1 << 11),
303 eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS = (1 << 12),
311 eENABLE_GPU_DYNAMICS = (1 << 13),
334 eENABLE_ENHANCED_DETERMINISM = (1<<14),
350 eENABLE_FRICTION_EVERY_ITERATION = (1 << 15),
352 eMUTABLE_FLAGS = eENABLE_ACTIVE_ACTORS|eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS
411 maxNbStaticShapes (0),
412 maxNbDynamicShapes (0),
414 maxNbConstraints (0),
416 maxNbBroadPhaseOverlaps (0)
955 simulationEventCallback (NULL),
956 contactModifyCallback (NULL),
957 ccdContactModifyCallback (NULL),
959 filterShaderData (NULL),
960 filterShaderDataSize (0),
962 filterCallback (NULL),
968 broadPhaseCallback (NULL),
972 bounceThresholdVelocity (0.2f * scale.speed),
973 frictionOffsetThreshold (0.04f * scale.length),
974 ccdMaxSeparation (0.04f * scale.length),
975 solverOffsetSlop (0.0f),
979 cpuDispatcher (NULL),
980 cudaContextManager (NULL),
984 dynamicTreeRebuildRateHint (100),
989 solverBatchSize (128),
990 solverArticulationBatchSize (16),
992 nbContactDataBlocks (0),
993 maxNbContactDataBlocks (1<<16),
995 contactReportStreamBufferSize (8192),
998 wakeCounterResetValue (20.0f*0.02f),
1000 gpuMaxNumPartitions (8),
1001 gpuComputeVersion (0),
1002 tolerancesScale (scale)
1060 #if PX_SUPPORT_GPU_PHYSX Definition: GuContactBuffer.h:37
const void * filterShaderData
Shared global filter data which will get passed into the filter shader.
Definition: PxSceneDesc.h:523
PxU32 solverBatchSize
Defines the number of actors required to spawn a separate rigid body solver island task chain...
Definition: PxSceneDesc.h:748
PxSolverType::Enum solverType
Selects the solver algorithm to use.
Definition: PxSceneDesc.h:617
Descriptor class for scenes. See PxScene.
Definition: PxSceneDesc.h:471
PX_INLINE bool isValid() const
Returns true if the descriptor is valid.
Definition: PxSceneDesc.h:1011
Pruning structure used to accelerate scene queries.
Definition: PxSceneDesc.h:70
PxU32 patchStreamSize
Size of the contact patch stream buffer allocated in pinned host memory. This is double-buffered so t...
Definition: PxSceneDesc.h:444
PxFrictionType::Enum frictionType
Selects the friction algorithm to use for simulation.
Definition: PxSceneDesc.h:608
PxSceneQueryUpdateMode::Enum sceneQueryUpdateMode
Defines the scene query update mode. Default: PxSceneQueryUpdateMode::eBUILD_ENABLED_COMMIT_ENABLED.
Definition: PxSceneDesc.h:724
PxReal solverOffsetSlop
A slop value used to zero contact offsets from the body's COM on an axis if the offset along that axi...
Definition: PxSceneDesc.h:664
PxCudaContextManager * cudaContextManager
The CUDA context manager for the scene.
Definition: PxSceneDesc.h:687
PxSceneFlags flags
Flags used to select scene options.
Definition: PxSceneDesc.h:671
PX_INLINE void setToDefault(const PxTolerancesScale &scale)
(re)sets the structure to the default.
Definition: PxSceneDesc.h:1006
PxSceneLimits limits
Expected scene limits.
Definition: PxSceneDesc.h:596
PxU32 tempBufferCapacity
Capacity of temp buffer allocated in pinned host memory.
Definition: PxSceneDesc.h:442
Using a static AABB tree.
Definition: PxSceneDesc.h:76
Select default patch-friction model.
Definition: PxSceneDesc.h:131
float PxReal
Definition: PxSimpleTypes.h:78
PxSimulationFilterCallback * filterCallback
A custom collision filter callback which can be used to implement more complex filtering operations w...
Definition: PxSceneDesc.h:553
PxFilterFlags(* PxSimulationFilterShader)(PxFilterObjectAttributes attributes0, PxFilterData filterData0, PxFilterObjectAttributes attributes1, PxFilterData filterData1, PxPairFlags &pairFlags, const void *constantBlock, PxU32 constantBlockSize)
Filter shader to specify handling of collision pairs.
Definition: PxFiltering.h:589
Sizes of pre-allocated buffers use for GPU dynamics.
Definition: PxSceneDesc.h:438
PxU32 maxNbStaticShapes
Expected maximum number of static shapes.
Definition: PxSceneDesc.h:384
PxVec3 gravity
Gravity vector.
Definition: PxSceneDesc.h:485
PxU32 maxNbActors
Expected maximum number of actors.
Definition: PxSceneDesc.h:382
Enum for selecting the type of solver used for the simulation.
Definition: PxSceneDesc.h:146
PxU32 maxNbBroadPhaseOverlaps
Expected maximum number of broad-phase overlaps.
Definition: PxSceneDesc.h:389
Enable adaptive forces to accelerate convergence of the solver.
Definition: PxSceneDesc.h:222
flags for configuring properties of the scene
Definition: PxSceneDesc.h:162
PxContactModifyCallback * contactModifyCallback
Possible asynchronous callback for contact modification.
Definition: PxSceneDesc.h:503
Broad phase algorithm used in the simulation.
Definition: PxBroadPhase.h:66
PxCpuDispatcher * cpuDispatcher
The CPU task dispatcher for the scene.
Definition: PxSceneDesc.h:678
void * userData
Will be copied to PxScene::userData.
Definition: PxSceneDesc.h:731
PxPairFilteringMode::Enum kineKineFilteringMode
Filtering mode for kinematic-kinematic pairs in the broadphase.
Definition: PxSceneDesc.h:562
PxU32 gpuComputeVersion
Defines which compute version the GPU dynamics should target. DO NOT MODIFY.
Definition: PxSceneDesc.h:903
PxReal ccdThreshold
CCD threshold.
Definition: PxSceneDesc.h:862
An interface class that the user can implement in order to receive simulation events.
Definition: PxSimulationEventCallback.h:793
PxU32 maxNbDynamicShapes
Expected maximum number of dynamic shapes.
Definition: PxSceneDesc.h:385
PxSimulationFilterShader filterShader
The custom filter shader to use for collision filtering.
Definition: PxSceneDesc.h:543
PxU32 contactReportStreamBufferSize
Size of the contact report stream (in bytes).
Definition: PxSceneDesc.h:833
Enum
Definition: PxSceneDesc.h:72
Both scene query build and commit are executed.
Definition: PxSceneDesc.h:105
PxU32 maxNbRegions
Expected maximum number of broad-phase regions.
Definition: PxSceneDesc.h:388
PxCCDContactModifyCallback * ccdContactModifyCallback
Possible asynchronous callback for contact modification.
Definition: PxSceneDesc.h:512
PxPairFilteringMode::Enum staticKineFilteringMode
Filtering mode for static-kinematic pairs in the broadphase.
Definition: PxSceneDesc.h:571
PxU32 gpuMaxNumPartitions
Limitation for the partitions in the GPU dynamics pipeline. This variable must be power of 2...
Definition: PxSceneDesc.h:898
PxFlags< PxSceneFlag::Enum, PxU32 > PxSceneFlags
collection of set bits defined in PxSceneFlag.
Definition: PxSceneDesc.h:362
Default Projected Gauss-Seidel iterative solver.
Definition: PxSceneDesc.h:150
PxReal wakeCounterResetValue
The wake counter reset value.
Definition: PxSceneDesc.h:874
Definition: PxFiltering.h:699
Enum
Definition: PxSceneDesc.h:129
PxgDynamicsMemoryConfig gpuDynamicsConfig
The pre-allocations performed in the GPU dynamics pipeline.
Definition: PxSceneDesc.h:890
Using a simple data structure.
Definition: PxSceneDesc.h:74
PxU32 ccdMaxPasses
Maximum number of CCD passes.
Definition: PxSceneDesc.h:846
PxU16 flags
a set of Px1DConstraintFlags
Definition: PxConstraintDesc.h:110
PxU32 heapCapacity
Initial capacity of the GPU and pinned host memory heaps. Additional memory will be allocated if more...
Definition: PxSceneDesc.h:446
PxReal maxBiasCoefficient
The maximum bias coefficient used in the constraint solver.
Definition: PxSceneDesc.h:818
#define PX_MAX_F32
Definition: PxSimpleTypes.h:86
Enum
Definition: PxSceneDesc.h:148
#define PX_MAX_BOUNDS_EXTENTS
Definition: PxBounds3.h:46
PxU32 nbContactDataBlocks
Setting to define the number of 16K blocks that will be initially reserved to store contact...
Definition: PxSceneDesc.h:780
PxBroadPhaseType::Enum broadPhaseType
Selects the broad-phase algorithm to use.
Definition: PxSceneDesc.h:580
PX_INLINE PxSceneLimits()
constructor sets to default
Definition: PxSceneDesc.h:408
PxU32 dynamicTreeRebuildRateHint
Hint for how much work should be done per simulation frame to rebuild the pruning structure...
Definition: PxSceneDesc.h:718
PxU32 maxNbAggregates
Expected maximum number of aggregates.
Definition: PxSceneDesc.h:386
PxU32 maxNbConstraints
Expected maximum number of constraint shaders.
Definition: PxSceneDesc.h:387
PxU32 maxNbContactDataBlocks
Setting to define the maximum number of 16K blocks that can be allocated to store contact...
Definition: PxSceneDesc.h:800
Select one directional per-contact friction model.
Definition: PxSceneDesc.h:132
PxBroadPhaseCallback * broadPhaseCallback
Broad-phase callback.
Definition: PxSceneDesc.h:589
Enum
Definition: PxBroadPhase.h:68
PxPruningStructureType::Enum dynamicStructure
Defines the structure used to store dynamic objects.
Definition: PxSceneDesc.h:699
PX_INLINE PxSceneDesc(const PxTolerancesScale &scale)
constructor sets to default.
Definition: PxSceneDesc.h:953
Select two directional per-contact friction model.
Definition: PxSceneDesc.h:133
Class to define the scale at which simulation runs. Most simulation tolerances are calculated in term...
Definition: PxTolerancesScale.h:56
PxgDynamicsMemoryConfig()
Definition: PxSceneDesc.h:449
PxU32 contactBufferCapacity
Capacity of contact buffer allocated in GPU global memory.
Definition: PxSceneDesc.h:441
PxU32 maxNbBodies
Expected maximum number of dynamic rigid bodies.
Definition: PxSceneDesc.h:383
Class representing 3D range or axis aligned bounding box.
Definition: PxBounds3.h:58
Enum
Definition: PxSceneDesc.h:103
Filter callback to specify handling of collision pairs.
Definition: PxFiltering.h:617
Enables additional stabilization pass in solver.
Definition: PxSceneDesc.h:279
PxReal frictionOffsetThreshold
A threshold of contact separation distance used to decide if a contact point will experience friction...
Definition: PxSceneDesc.h:643
PxSimulationEventCallback * simulationEventCallback
Possible notification callback.
Definition: PxSceneDesc.h:494
PxReal ccdMaxSeparation
A threshold for speculative CCD. Used to control whether bias, restitution or a combination of the tw...
Definition: PxSceneDesc.h:654
PX_INLINE bool isValid() const
Returns true if the descriptor is valid.
Definition: PxSceneDesc.h:425
Class used to retrieve limits(e.g. maximum number of bodies) for a scene. The limits are used as a hi...
Definition: PxSceneDesc.h:379
PxU32 solverArticulationBatchSize
Defines the number of articulations required to spawn a separate rigid body solver island task chain...
Definition: PxSceneDesc.h:765
PxU32 foundLostPairsCapacity
Capacity of found and lost buffers allocated in GPU global memory. This is used for the found/lost pa...
Definition: PxSceneDesc.h:447
PxU32 contactStreamSize
Size of contact stream buffer allocated in pinned host memory. This is double-buffered so total alloc...
Definition: PxSceneDesc.h:443
PxBounds3 sanityBounds
The bounds used to sanity check user-set positions of actors and articulation links.
Definition: PxSceneDesc.h:885
PX_CUDA_CALLABLE PX_FORCE_INLINE bool isValid() const
Definition: PxBounds3.h:467
Enum for selecting the friction algorithm used for simulation.
Definition: PxSceneDesc.h:127
PxU32 filterShaderDataSize
Size (in bytes) of the shared global filter data filterShaderData.
Definition: PxSceneDesc.h:532
PxU32 forceStreamCapacity
Capacity of force buffer allocated in pinned host memory.
Definition: PxSceneDesc.h:445
uint32_t PxU32
Definition: Px.h:48
Using a dynamic AABB tree.
Definition: PxSceneDesc.h:75
PxReal bounceThresholdVelocity
A contact with a relative velocity below this will not bounce. A typical value for simulation...
Definition: PxSceneDesc.h:628
Broad-phase callback to receive broad-phase related events.
Definition: PxBroadPhase.h:96
PX_INLINE void setToDefault()
(re)sets the structure to the default
Definition: PxSceneDesc.h:420
PxPruningStructureType::Enum staticStructure
Defines the structure used to store static objects.
Definition: PxSceneDesc.h:694
PxU32 constraintBufferCapacity
Capacity of constraint buffer allocated in GPU global memory.
Definition: PxSceneDesc.h:440
#define PX_INLINE
Definition: PxPreprocessor.h:336
Enum
Definition: PxFiltering.h:701
Enum
Definition: PxSceneDesc.h:164
Scene query update mode.
Definition: PxSceneDesc.h:101
3 Element vector class.
Definition: PxVec3.h:49
Scene query build only is executed.
Definition: PxSceneDesc.h:106