MPSRayOriginMaskDirectionMaxDistance

Struct MPSRayOriginMaskDirectionMaxDistance 

Source
#[repr(C)]
pub struct MPSRayOriginMaskDirectionMaxDistance { pub origin: MPSPackedFloat3, pub mask: c_uint, pub direction: MPSPackedFloat3, pub maxDistance: c_float, }
Available on crate feature MPSRayIntersectorTypes only.
Expand description

Represents a 3D ray with an origin, a direction, and a mask to filter out intersections

This type is available from the Metal Shading Language by including the MetalPerformanceShaders/MetalPerformanceShaders.h header.

See also Apple’s documentation

Fields§

§origin: MPSPackedFloat3

Ray origin. The intersection test will be skipped if the origin contains NaNs or infinities.

§mask: c_uint

Ray mask which is bitwise AND-ed with instance and primitive masks to filter out intersections. The intersection test will be skipped if the mask is zero.

§direction: MPSPackedFloat3

Ray direction. Does not need to be normalized. The intersection test will be skipped if the direction has length zero or contains NaNs or infinities.

§maxDistance: c_float

Maximum intersection distance from the origin along the ray direction. May be infinite. The intersection test will be skipped if the maximum distance is less than zero or NaN.

Trait Implementations§

Source§

impl Clone for MPSRayOriginMaskDirectionMaxDistance

Available on crate feature MPSRayIntersector only.
Source§

fn clone(&self) -> MPSRayOriginMaskDirectionMaxDistance

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MPSRayOriginMaskDirectionMaxDistance

Available on crate feature MPSRayIntersector only.
Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Encode for MPSRayOriginMaskDirectionMaxDistance

Available on crate feature MPSRayIntersector only.
Source§

const ENCODING: Encoding

The Objective-C type-encoding for this type.
Source§

impl PartialEq for MPSRayOriginMaskDirectionMaxDistance

Available on crate feature MPSRayIntersector only.
Source§

fn eq(&self, other: &MPSRayOriginMaskDirectionMaxDistance) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for MPSRayOriginMaskDirectionMaxDistance

Available on crate feature MPSRayIntersector only.
Source§

const ENCODING_REF: Encoding

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl Copy for MPSRayOriginMaskDirectionMaxDistance

Available on crate feature MPSRayIntersector only.
Source§

impl StructuralPartialEq for MPSRayOriginMaskDirectionMaxDistance

Available on crate feature MPSRayIntersector only.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> EncodeArgument for T
where T: Encode,

Source§

const ENCODING_ARGUMENT: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
Source§

impl<T> EncodeReturn for T
where T: Encode,

Source§

const ENCODING_RETURN: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,