Função XMVectorSwizzle (directxmath.h)
Gira um vetor.
Sintaxe
XMVECTOR XM_CALLCONV XMVectorSwizzle(
[in] FXMVECTOR V,
[in] uint32_t E0,
[in] uint32_t E1,
[in] uint32_t E2,
[in] uint32_t E3
) noexcept;
Parâmetros
[in] V
Vetor a ser girado.
[in] E0
Índice que descreve qual componente de V colocar no componente x do vetor giratório. Um valor 0 seleciona o componente x, 1 seleciona o componente y, 2 seleciona o componente z e 3 seleciona o componente w.
[in] E1
Índice que descreve qual componente de V colocar no componente y do vetor giratório. Um valor 0 seleciona o componente x, 1 seleciona o componente y, 2 seleciona o componente z e 3 seleciona o componente w.
[in] E2
Índice que descreve qual componente de V colocar no componente z do vetor giratório. Um valor 0 seleciona o componente x, 1 seleciona o componente y, 2 seleciona o componente z e 3 seleciona o componente w.
[in] E3
Índice que descreve qual componente de V colocar no componente w do vetor giratório. Um valor 0 seleciona o componente x, 1 seleciona o componente y, 2 seleciona o componente z e 3 seleciona o componente w.
Valor retornado
Retorna o XMVECTOR girado.
Comentários
O código a seguir demonstra como essa função pode ser usada.
XMVECTOR v = XMVectorSet( 10.0f, 20.0f, 30.0f, 40.0f );
XMVECTOR result = XMVectorSwizzle(v, 3, 3, 0, 2 );
O vetor giratório (resultado) será <40.0f, 40.0f, 10.0f, 30.0f>.
XM_SWIZZLE_X
, XM_SWIZZLE_Y
, XM_SWIZZLE_Z
e XM_SWIZZLE_W
são constantes que são avaliadas como 0, 1, 2 e 3, respectivamente, para uso com XMVectorSwizzle.
Isso é idêntico a XM_PERMUTE_0X
, XM_PERMUTE_0Y
, XM_PERMUTE_0Z
e XM_PERMUTE_0W
.
Para o caso de índices constantes (E0, E1, E2, E3), é muito mais eficiente usar a forma de modelo de XMVectorSwizzle:
template<uint32_t SwizzleX, uint32_t SwizzleY, uint32_t SwizzleZ, uint32_t SwizzleW>
XMVECTOR XMVectorSwizzle(FXMVECTOR V)
Example: XMVectorSwizzle< 3, 3, 0, 2>(v);
Requisitos de 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
Plataforma de Destino | Windows |
Cabeçalho | directxmath.h (inclua DirectXMath.h) |