Cramming PhysX in there
More PhysX work More PhysX work
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
---
|
||||
source: physx-sys/pxbind/tests/enums.rs
|
||||
expression: "gen_enums(\"i32.h\", &[]).unwrap()"
|
||||
---
|
||||
/// Broad phase algorithm used in the simulation
|
||||
///
|
||||
/// eSAP is a good generic choice with great performance when many objects are sleeping. Performance
|
||||
/// can degrade significantly though, when all objects are moving, or when large numbers of objects
|
||||
/// are added to or removed from the broad phase. This algorithm does not need world bounds to be
|
||||
/// defined in order to work.
|
||||
///
|
||||
/// eMBP is an alternative broad phase algorithm that does not suffer from the same performance
|
||||
/// issues as eSAP when all objects are moving or when inserting large numbers of objects. However
|
||||
/// its generic performance when many objects are sleeping might be inferior to eSAP, and it requires
|
||||
/// users to define world bounds in order to work.
|
||||
///
|
||||
/// eABP is a revisited implementation of MBP, which automatically manages broad-phase regions.
|
||||
/// It offers the convenience of eSAP (no need to define world bounds or regions) and the performance
|
||||
/// of eMBP when a lot of objects are moving. While eSAP can remain faster when most objects are
|
||||
/// sleeping and eMBP can remain faster when it uses a large number of properly-defined regions,
|
||||
/// eABP often gives the best performance on average and the best memory usage.
|
||||
///
|
||||
/// ePABP is a parallel implementation of ABP. It can often be the fastest (CPU) broadphase, but it
|
||||
/// can use more memory than ABP.
|
||||
///
|
||||
/// eGPU is a GPU implementation of the incremental sweep and prune approach. Additionally, it uses a ABP-style
|
||||
/// initial pair generation approach to avoid large spikes when inserting shapes. It not only has the advantage
|
||||
/// of traditional SAP approch which is good for when many objects are sleeping, but due to being fully parallel,
|
||||
/// it also is great when lots of shapes are moving or for runtime pair insertion and removal. It can become a
|
||||
/// performance bottleneck if there are a very large number of shapes roughly projecting to the same values
|
||||
/// on a given axis. If the scene has a very large number of shapes in an actor, e.g. a humanoid, it is recommended
|
||||
/// to use an aggregate to represent multi-shape or multi-body actors to minimize stress placed on the broad phase.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[repr(i32)]
|
||||
pub enum PxBroadPhaseType {
|
||||
/// 3-axes sweep-and-prune
|
||||
Sap = 0,
|
||||
/// Multi box pruning
|
||||
Mbp = 1,
|
||||
/// Automatic box pruning
|
||||
Abp = 2,
|
||||
/// Parallel automatic box pruning
|
||||
Pabp = 3,
|
||||
/// GPU broad phase
|
||||
Gpu = 4,
|
||||
Last = 5,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user