Função XMVectorSelectControl (directxmath.h)
Define um vetor de controle para uso em XMVectorSelect.
Sintaxe
XMVECTOR XM_CALLCONV XMVectorSelectControl(
[in] uint32_t VectorIndex0,
[in] uint32_t VectorIndex1,
[in] uint32_t VectorIndex2,
[in] uint32_t VectorIndex3
) noexcept;
Parâmetros
[in] VectorIndex0
Índice que determina qual vetor em XMVectorSelect será selecionado. Se zero, o primeiro componente do primeiro vetor será selecionado. Caso contrário, o componente do segundo vetor será selecionado.
[in] VectorIndex1
Índice que determina qual vetor em XMVectorSelect será selecionado. Se zero, o segundo componente do primeiro vetor será selecionado. Caso contrário, o componente do segundo vetor será selecionado.
[in] VectorIndex2
Índice que determina qual vetor em XMVectorSelect será selecionado. Se zero, o terceiro componente do primeiro vetor será selecionado. Caso contrário, o componente do segundo vetor será selecionado.
[in] VectorIndex3
Índice que determina qual vetor em XMVectorSelect será selecionado. Se zero, o quarto componente do primeiro vetor será selecionado. Caso contrário, o componente do segundo vetor será selecionado.
Retornar valor
Retorna o vetor de controle.
Comentários
O pseudocódigo a seguir demonstra a operação da função:
XMVECTOR ControlVector;
const uint32_t ControlElement[] =
{
XM_SELECT_0,
XM_SELECT_1
};
assert(VectorIndex0 < 2);
assert(VectorIndex1 < 2);
assert(VectorIndex2 < 2);
assert(VectorIndex3 < 2);
ControlVector.u[0] = ControlElement[VectorIndex0];
ControlVector.u[1] = ControlElement[VectorIndex1];
ControlVector.u[2] = ControlElement[VectorIndex2];
ControlVector.u[3] = ControlElement[VectorIndex3];
return ControlVector;
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.Exemplos
Usando XMVectorSelectControl
Neste exemplo, XMVectorSelectControl é usado para gerar uma máscara de controle que selecionará os componentes x e w do primeiro vetor e os componentes y e z do segundo.
O resultado do vetor será ( 3.0f, 5.0f, 5.0f, 3.0f ).
XMVECTOR three = XMVectorReplicate( 3.0f );
XMVECTOR five = XMVectorReplicate( 5.0f );
XMVECTOR control = XMVectorSelectControl( 0, 1, 1, 0 );
XMVECTOR result = XMVectorSelect( three, five, control );
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | directxmath.h (inclua DirectXMath.h) |