Function physx_sys::phys_PxDefaultSimulationFilterShader
source · pub unsafe extern "C" fn phys_PxDefaultSimulationFilterShader(
attributes0: u32,
filterData0: PxFilterData,
attributes1: u32,
filterData1: PxFilterData,
pairFlags: *mut PxPairFlags,
constantBlock: *const c_void,
constantBlockSize: u32
) -> PxFilterFlags
Expand description
Implementation of a simple filter shader that emulates PhysX 2.8.x filtering
This shader provides the following logic:
If one of the two filter objects is a trigger, the pair is acccepted and [PxPairFlag::eTRIGGER_DEFAULT
] will be used for trigger reports
Else, if the filter mask logic (see further below) discards the pair it will be suppressed ([PxFilterFlag::eSUPPRESS
])
Else, the pair gets accepted and collision response gets enabled ([PxPairFlag::eCONTACT_DEFAULT
])
Filter mask logic:
Given the two PxFilterData
structures fd0 and fd1 of two collision objects, the pair passes the filter if the following
conditions are met:
- Collision groups of the pair are enabled
- Collision filtering equation is satisfied