Function directx_math::template::XMVectorPermute[][src]

pub fn XMVectorPermute(
    V1: FXMVECTOR,
    V2: FXMVECTOR,
    PermuteX: u32,
    PermuteY: u32,
    PermuteZ: u32,
    PermuteW: u32
) -> XMVECTOR

Permutes the components of two vectors to create a new vector.

Parameters

V1 First vector.

V2 Second vector.

PermuteX Index form 0-7 indicating where the X component of the new vector should be copied from.

PermuteY Index form 0-7 indicating where the Y component of the new vector should be copied from.

PermuteZ Index form 0-7 indicating where the Z component of the new vector should be copied from.

PermuteW Index form 0-7 indicating where the W component of the new vector should be copied from.

Return value

Returns the permuted vector that resulted from combining the source vectors.

Remarks

If all 4 indices reference only a single vector (i.e. they are all in the range 0-3 or all in the range 4-7), use XMVectorSwizzle instead for better performance.

The XM_PERMUTE_ constants are provided to use as input values for PermuteX, PermuteY, PermuteZ, and PermuteW.

For constant PermuteX/Y/Z/W parameters, it may more efficent to use the template form of XMVectorPermute

https://docs.microsoft.com/en-us/windows/win32/api/directxmath/nf-directxmath-XMVectorPermute