#[repr(i32)]
pub enum PxDynamicTreeSecondaryPruner {
None,
Bucket,
Incremental,
Bvh,
Last,
}
Expand description
Secondary pruning structure used for newly added objects in dynamic trees.
Dynamic trees (PxPruningStructureType::eDYNAMIC_AABB_TREE) are slowly rebuilt over several frames. A secondary pruning structure holds and manages objects added to the scene while this rebuild is in progress.
eNONE ignores newly added objects. This means that for a number of frames (roughly defined by PxSceneQueryDesc::dynamicTreeRebuildRateHint) newly added objects will be ignored by scene queries. This can be acceptable when streaming large worlds, e.g. when the objects added at the boundaries of the game world don’t immediately need to be visible from scene queries (it would be equivalent to streaming that data in a few frames later). The advantage of this approach is that there is no CPU cost associated with inserting the new objects in the scene query data structures, and no extra runtime cost when performing queries.
eBUCKET uses a structure similar to PxPruningStructureType::eNONE. Insertion is fast but query cost can be high.
eINCREMENTAL uses an incremental AABB-tree, with no direct PxPruningStructureType equivalent. Query time is fast but insertion cost can be high.
eBVH uses a PxBVH structure. This usually offers the best overall performance.
Variants§
None
no secondary pruner, new objects aren’t visible to SQ for a few frames
Bucket
bucket-based secondary pruner, faster updates, slower query time
Incremental
incremental-BVH secondary pruner, faster query time, slower updates
Bvh
PxBVH-based secondary pruner, good overall performance
Last
Trait Implementations§
source§impl Clone for PxDynamicTreeSecondaryPruner
impl Clone for PxDynamicTreeSecondaryPruner
source§fn clone(&self) -> PxDynamicTreeSecondaryPruner
fn clone(&self) -> PxDynamicTreeSecondaryPruner
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for PxDynamicTreeSecondaryPruner
impl Debug for PxDynamicTreeSecondaryPruner
source§impl PartialEq<PxDynamicTreeSecondaryPruner> for PxDynamicTreeSecondaryPruner
impl PartialEq<PxDynamicTreeSecondaryPruner> for PxDynamicTreeSecondaryPruner
source§fn eq(&self, other: &PxDynamicTreeSecondaryPruner) -> bool
fn eq(&self, other: &PxDynamicTreeSecondaryPruner) -> bool
self
and other
values to be equal, and is used
by ==
.