Share via


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)

Confira também

Funções de vetor de componentes

XMVectorSelect