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 );
XMVectorPermute
é nova para DirectXMath. A biblioteca XNAMath v2.x fez uso de XMVectorPermuteControl
, um controle XMVECTOR
em vez de 4 índices para XMVectorPermute
e 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) |