Compartilhar via


Função XMVectorPermute (directxmath.h)

Permuta os componentes de dois vetores para criar um novo vetor.

Sintaxe

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

Primeiro vetor.

[in] V2

Segundo vetor.

PermuteX

Formulário de índice 0-7 indicando de onde o componente X do novo vetor deve ser copiado.

PermuteY

Formulário de índice 0-7 indicando de onde o componente Y do novo vetor deve ser copiado.

PermuteZ

Formulário de índice 0-7 indicando de onde o componente Z do novo vetor deve ser copiado.

PermuteW

Formulário de índice 0-7 indicando de onde o componente W do novo vetor deve ser copiado.

Retornar valor

Retorna o vetor permutado resultante da combinação dos vetores de origem.

Comentários

Se todos os 4 índices referenciarem apenas um único vetor (ou seja, todos eles estão no intervalo 0-3 ou todos no intervalo 4-7), use XMVectorSwizzle em vez de melhorar o desempenho.

As constantes XM_PERMUTE_ são fornecidas para usar como valores de entrada para PermuteX, PermuteY, PermuteZ e PermuteW.

Para parâmetros permuteX/Y/Z/W constantes, é muito mais eficiente usar a forma de modelo 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 );
   
Nota Esta versão do XMVectorPermute é nova para DirectXMath. A biblioteca XNAMath v2.x fez uso de XMVectorPermuteControl, um controle XMVECTOR em vez de 4 índices para XMVectorPermutee usou valores diferentes para as constantes XM_PERMUTE_x.
 

Requisitos da plataforma

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 com o SDK do Windows para Windows 8. Com suporte para aplicativos da área de trabalho Win32, aplicativos da Windows Store e aplicativos Windows Phone 8.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho directxmath.h (inclua DirectXMath.h)

Confira também

Funções vetoriais em termos de componente

XMVectorSwizzle