Función XMVectorPermute (directxmath.h)
Permuta los componentes de dos vectores para crear un nuevo vector.
Sintaxis
XMVECTOR XM_CALLCONV XMVectorPermute(
[in] FXMVECTOR V1,
[in] FXMVECTOR V2,
uint32_t PermuteX,
uint32_t PermuteY,
uint32_t PermuteZ,
uint32_t PermuteW
) noexcept;
Parámetros
[in] V1
Primer vector.
[in] V2
Segundo vector.
PermuteX
Formulario de índice 0-7 que indica dónde se debe copiar el componente X del nuevo vector.
PermuteY
Formulario de índice 0-7 que indica dónde se debe copiar el componente Y del nuevo vector.
PermuteZ
Formulario de índice 0-7 que indica dónde se debe copiar el componente Z del nuevo vector.
PermuteW
Formulario de índice 0-7 que indica dónde se debe copiar el componente W del nuevo vector.
Valor devuelto
Devuelve el vector permutado que resultó de combinar los vectores de origen.
Comentarios
Si los 4 índices hacen referencia solo a un único vector (es decir, todos están en el intervalo 0-3 o todos en el intervalo 4-7), use XMVectorSwizzle en su lugar para mejorar el rendimiento.
Las constantes XM_PERMUTE_ se proporcionan para usarlas como valores de entrada para PermuteX,PermuteY,PermuteZ y PermuteW.
Para los parámetros PermuteX/Y/Z/W constantes, es mucho más eficaz usar el formato de plantilla de XMVectorPermute:
template<uint32_t PermuteX, uint32_t PermuteY, uint32_t PermuteZ, uint32_t PermuteW>
XMVECTOR XMVectorPermute(FXMVECTOR V1, FXMVECTOR V2)
Example: XMVectorPermute<XM_PERMUTE_0Z, XM_PERMUTE_1X, XM_PERMUTE_0W, XM_PERMUTE_1Y>( V1, V2 );
XMVectorPermute
es nueva para DirectXMath. La biblioteca XNAMath v2.x usó XMVectorPermuteControl
, un control XMVECTOR
en lugar de 4 índices para XMVectorPermute
y usó valores diferentes para las constantes de XM_PERMUTE_x.Requisitos de la plataforma
Microsoft Visual Studio 2010 o Microsoft Visual Studio 2012 con Windows SDK para Windows 8. Compatible con aplicaciones de escritorio Win32, aplicaciones de la Tienda Windows y Windows Phone 8 aplicaciones.Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | directxmath.h (incluir DirectXMath.h) |