#[repr(transparent)]pub struct MPSAccelerationStructureUsage(pub NSUInteger);MPSAccelerationStructure only.Expand description
Options describing how an acceleration structure will be used
See also Apple’s documentation
Tuple Fields§
§0: NSUIntegerImplementations§
Source§impl MPSAccelerationStructureUsage
impl MPSAccelerationStructureUsage
Sourcepub const None: Self
👎DeprecatedAvailable on crate feature MPSRayIntersector only.
pub const None: Self
MPSRayIntersector only.No usage options specified
Sourcepub const Refit: Self
👎DeprecatedAvailable on crate feature MPSRayIntersector only.
pub const Refit: Self
MPSRayIntersector only.Enable support for refitting the acceleration structure after it has been built. This option may reduce raytracing performance so do not use it unless the acceleration structure will be refit.
Sourcepub const FrequentRebuild: Self
👎DeprecatedAvailable on crate feature MPSRayIntersector only.
pub const FrequentRebuild: Self
MPSRayIntersector only.Option indicating that the acceleration structure will be rebuilt frequently. In this case, the acceleration structure may choose a higher performance but lower quality acceleration structure construction algorithm. This option may reduce raytracing performance performance so do not use it unless reduced acceleration structure build time is worth reduced raytracing performance. This option may be useful if, for example, the user is interactively editing a live view of the scene.
Sourcepub const PreferGPUBuild: Self
👎DeprecatedAvailable on crate feature MPSRayIntersector only.
pub const PreferGPUBuild: Self
MPSRayIntersector only.Prefer building the acceleration structure on the GPU. By default, the acceleration structure will be built on the GPU when possible. However, in some cases such as very small triangle counts, the acceleration structure may be built on the CPU. This option will force the acceleration structure to be always be built on the GPU whenever possible.
Sourcepub const PreferCPUBuild: Self
👎DeprecatedAvailable on crate feature MPSRayIntersector only.
pub const PreferCPUBuild: Self
MPSRayIntersector only.Prefer building the acceleration structure on the CPU. By default, the acceleration structure will be built on the GPU when possible, which is typically much faster than building on the CPU. However, in some cases it may be preferable to build on the CPU such as to avoid framerate hitches when the GPU is rendering the user interface.
Source§impl MPSAccelerationStructureUsage
impl MPSAccelerationStructureUsage
Sourcepub const fn empty() -> Self
Available on crate feature MPSRayIntersector only.
pub const fn empty() -> Self
MPSRayIntersector only.Get a flags value with all bits unset.
Sourcepub const fn all() -> Self
Available on crate feature MPSRayIntersector only.
pub const fn all() -> Self
MPSRayIntersector only.Get a flags value with all known bits set.
Sourcepub const fn bits(&self) -> NSUInteger
Available on crate feature MPSRayIntersector only.
pub const fn bits(&self) -> NSUInteger
MPSRayIntersector only.Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
Sourcepub const fn from_bits(bits: NSUInteger) -> Option<Self>
Available on crate feature MPSRayIntersector only.
pub const fn from_bits(bits: NSUInteger) -> Option<Self>
MPSRayIntersector only.Convert from a bits value.
This method will return None if any unknown bits are set.
Sourcepub const fn from_bits_truncate(bits: NSUInteger) -> Self
Available on crate feature MPSRayIntersector only.
pub const fn from_bits_truncate(bits: NSUInteger) -> Self
MPSRayIntersector only.Convert from a bits value, unsetting any unknown bits.
Sourcepub const fn from_bits_retain(bits: NSUInteger) -> Self
Available on crate feature MPSRayIntersector only.
pub const fn from_bits_retain(bits: NSUInteger) -> Self
MPSRayIntersector only.Convert from a bits value exactly.
Sourcepub fn from_name(name: &str) -> Option<Self>
Available on crate feature MPSRayIntersector only.
pub fn from_name(name: &str) -> Option<Self>
MPSRayIntersector only.Get a flags value with the bits of a flag with the given name set.
This method will return None if name is empty or doesn’t
correspond to any named flag.
Sourcepub const fn is_empty(&self) -> bool
Available on crate feature MPSRayIntersector only.
pub const fn is_empty(&self) -> bool
MPSRayIntersector only.Whether all bits in this flags value are unset.
Sourcepub const fn is_all(&self) -> bool
Available on crate feature MPSRayIntersector only.
pub const fn is_all(&self) -> bool
MPSRayIntersector only.Whether all known bits in this flags value are set.
Sourcepub const fn intersects(&self, other: Self) -> bool
Available on crate feature MPSRayIntersector only.
pub const fn intersects(&self, other: Self) -> bool
MPSRayIntersector only.Whether any set bits in a source flags value are also set in a target flags value.
Sourcepub const fn contains(&self, other: Self) -> bool
Available on crate feature MPSRayIntersector only.
pub const fn contains(&self, other: Self) -> bool
MPSRayIntersector only.Whether all set bits in a source flags value are also set in a target flags value.
Sourcepub fn insert(&mut self, other: Self)
Available on crate feature MPSRayIntersector only.
pub fn insert(&mut self, other: Self)
MPSRayIntersector only.The bitwise or (|) of the bits in two flags values.
Sourcepub fn remove(&mut self, other: Self)
Available on crate feature MPSRayIntersector only.
pub fn remove(&mut self, other: Self)
MPSRayIntersector only.The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
remove won’t truncate other, but the ! operator will.
Sourcepub fn toggle(&mut self, other: Self)
Available on crate feature MPSRayIntersector only.
pub fn toggle(&mut self, other: Self)
MPSRayIntersector only.The bitwise exclusive-or (^) of the bits in two flags values.
Sourcepub fn set(&mut self, other: Self, value: bool)
Available on crate feature MPSRayIntersector only.
pub fn set(&mut self, other: Self, value: bool)
MPSRayIntersector only.Call insert when value is true or remove when value is false.
Sourcepub const fn intersection(self, other: Self) -> Self
Available on crate feature MPSRayIntersector only.
pub const fn intersection(self, other: Self) -> Self
MPSRayIntersector only.The bitwise and (&) of the bits in two flags values.
Sourcepub const fn union(self, other: Self) -> Self
Available on crate feature MPSRayIntersector only.
pub const fn union(self, other: Self) -> Self
MPSRayIntersector only.The bitwise or (|) of the bits in two flags values.
Sourcepub const fn difference(self, other: Self) -> Self
Available on crate feature MPSRayIntersector only.
pub const fn difference(self, other: Self) -> Self
MPSRayIntersector only.The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
Sourcepub const fn symmetric_difference(self, other: Self) -> Self
Available on crate feature MPSRayIntersector only.
pub const fn symmetric_difference(self, other: Self) -> Self
MPSRayIntersector only.The bitwise exclusive-or (^) of the bits in two flags values.
Sourcepub const fn complement(self) -> Self
Available on crate feature MPSRayIntersector only.
pub const fn complement(self) -> Self
MPSRayIntersector only.The bitwise negation (!) of the bits in a flags value, truncating the result.
Source§impl MPSAccelerationStructureUsage
impl MPSAccelerationStructureUsage
Sourcepub const fn iter(&self) -> Iter<MPSAccelerationStructureUsage>
Available on crate feature MPSRayIntersector only.
pub const fn iter(&self) -> Iter<MPSAccelerationStructureUsage>
MPSRayIntersector only.Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
Sourcepub const fn iter_names(&self) -> IterNames<MPSAccelerationStructureUsage>
Available on crate feature MPSRayIntersector only.
pub const fn iter_names(&self) -> IterNames<MPSAccelerationStructureUsage>
MPSRayIntersector only.Yield a set of contained named flags values.
This method is like iter, except only yields bits in contained named flags.
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
Trait Implementations§
Source§impl Binary for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl Binary for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§impl BitAnd for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl BitAnd for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§impl BitAndAssign for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl BitAndAssign for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
The bitwise and (&) of the bits in two flags values.
Source§impl BitOr for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl BitOr for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§fn bitor(self, other: MPSAccelerationStructureUsage) -> Self
fn bitor(self, other: MPSAccelerationStructureUsage) -> Self
The bitwise or (|) of the bits in two flags values.
Source§type Output = MPSAccelerationStructureUsage
type Output = MPSAccelerationStructureUsage
| operator.Source§impl BitOrAssign for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl BitOrAssign for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
The bitwise or (|) of the bits in two flags values.
Source§impl BitXor for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl BitXor for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§impl BitXorAssign for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl BitXorAssign for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
The bitwise exclusive-or (^) of the bits in two flags values.
Source§impl Clone for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl Clone for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§fn clone(&self) -> MPSAccelerationStructureUsage
fn clone(&self) -> MPSAccelerationStructureUsage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl Debug for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§impl Encode for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl Encode for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§impl Extend<MPSAccelerationStructureUsage> for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl Extend<MPSAccelerationStructureUsage> for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
The bitwise or (|) of the bits in each flags value.
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)Source§impl Flags for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl Flags for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§const FLAGS: &'static [Flag<MPSAccelerationStructureUsage>]
const FLAGS: &'static [Flag<MPSAccelerationStructureUsage>]
Source§fn bits(&self) -> NSUInteger
fn bits(&self) -> NSUInteger
Source§fn from_bits_retain(bits: NSUInteger) -> MPSAccelerationStructureUsage
fn from_bits_retain(bits: NSUInteger) -> MPSAccelerationStructureUsage
Source§fn contains_unknown_bits(&self) -> bool
fn contains_unknown_bits(&self) -> bool
true if any unknown bits are set.Source§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
Source§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<Self>
Source§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
Source§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
Source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
Source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|) of the bits in two flags values.Source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
&!). Read moreSource§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^) of the bits in two flags values.Source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&) of the bits in two flags values.Source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
&!). Read moreSource§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^) of the bits in two flags values.Source§fn complement(self) -> Self
fn complement(self) -> Self
!) of the bits in a flags value, truncating the result.Source§impl FromIterator<MPSAccelerationStructureUsage> for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl FromIterator<MPSAccelerationStructureUsage> for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
The bitwise or (|) of the bits in each flags value.
Source§impl Hash for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl Hash for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§impl IntoIterator for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl IntoIterator for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§impl LowerHex for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl LowerHex for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§impl Not for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl Not for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§impl Octal for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl Octal for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§impl Ord for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl Ord for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§fn cmp(&self, other: &MPSAccelerationStructureUsage) -> Ordering
fn cmp(&self, other: &MPSAccelerationStructureUsage) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl PartialEq for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§fn eq(&self, other: &MPSAccelerationStructureUsage) -> bool
fn eq(&self, other: &MPSAccelerationStructureUsage) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialOrd for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl PartialOrd for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§impl RefEncode for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl RefEncode for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§const ENCODING_REF: Encoding
const ENCODING_REF: Encoding
Source§impl Sub for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl Sub for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§fn sub(self, other: Self) -> Self
fn sub(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
Source§type Output = MPSAccelerationStructureUsage
type Output = MPSAccelerationStructureUsage
- operator.Source§impl SubAssign for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl SubAssign for MPSAccelerationStructureUsage
MPSRayIntersector only.Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
Source§impl UpperHex for MPSAccelerationStructureUsage
Available on crate feature MPSRayIntersector only.
impl UpperHex for MPSAccelerationStructureUsage
MPSRayIntersector only.impl Copy for MPSAccelerationStructureUsage
MPSRayIntersector only.impl Eq for MPSAccelerationStructureUsage
MPSRayIntersector only.impl StructuralPartialEq for MPSAccelerationStructureUsage
MPSRayIntersector only.