Функция 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) |