pub unsafe extern "C" fn phys_PxDefaultSimulationFilterShader(
attributes0: u32,
filterData0: PxFilterData,
attributes1: u32,
filterData1: PxFilterData,
pairFlags: *mut PxPairFlags,
constantBlock: *const c_void,
constantBlockSize: u32,
) -> PxFilterFlagsExpand 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