Поделиться через


Функция XMVectorSelectControl (directxmath.h)

Определяет вектор управления для использования в XMVectorSelect.

Синтаксис

XMVECTOR XM_CALLCONV XMVectorSelectControl(
  [in] uint32_t VectorIndex0,
  [in] uint32_t VectorIndex1,
  [in] uint32_t VectorIndex2,
  [in] uint32_t VectorIndex3
) noexcept;

Параметры

[in] VectorIndex0

Индекс, определяющий, какой вектор в XMVectorSelect будет выбран. Если значение равно нулю, будет выбран первый компонент первого вектора. В противном случае будет выбран компонент второго вектора.

[in] VectorIndex1

Индекс, определяющий, какой вектор в XMVectorSelect будет выбран. Если значение равно нулю, будет выбран второй компонент первого вектора. В противном случае будет выбран компонент второго вектора.

[in] VectorIndex2

Индекс, определяющий, какой вектор в XMVectorSelect будет выбран. Если значение равно нулю, будет выбран третий компонент первого вектора. В противном случае будет выбран компонент второго вектора.

[in] VectorIndex3

Индекс, определяющий, какой вектор в XMVectorSelect будет выбран. Если значение равно нулю, будет выбран четвертый компонент первого вектора. В противном случае будет выбран компонент второго вектора.

Возвращаемое значение

Возвращает вектор управления.

Комментарии

Следующий псевдокод демонстрирует работу функции:

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;

Требования к платформе

Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и Windows Phone 8 приложений.

Примеры

Использование XMVectorSelectControl

В этом примере XMVectorSelectControl используется для создания маски элемента управления, которая будет выбирать компоненты x и w из первого вектора и компоненты y и z из второго.

Результат вектора будет иметь значение ( 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 );

Требования

Требование Значение
Целевая платформа Windows
Header directxmath.h (включая DirectXMath.h)

См. также раздел

Векторные функции на уровне компонентов

XMVectorSelect