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


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

Сдвиг вектора влево на заданное количество 32-разрядных элементов, заполняя освобожденные элементы элементами из второго вектора.

Синтаксис

XMVECTOR XM_CALLCONV XMVectorShiftLeft(
  [in] FXMVECTOR V1,
  [in] FXMVECTOR V2,
  [in] uint32_t  Elements
) noexcept;

Параметры

[in] V1

Вектор для сдвига влево.

[in] V2

Вектор, используемый для заполнения освобожденных компонентов V1 после сдвига влево.

[in] Elements

Количество 32-разрядных элементов, на которые нужно сдвинуть V влево. Этот параметр должен иметь значение 0, 1, 2 или 3.

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

Возвращает сдвинутый и заполненный XMVECTOR.

Комментарии

В следующем коде показано, как можно использовать эту функцию.

XMVECTOR v1 = XMVectorSet( 10.0f, 20.0f, 30.0f, 40.0f );
XMVECTOR v2 = XMVectorSet( 50.0f, 60.0f, 70.0f, 80.0f );
XMVECTOR result = XMVectorShiftLeft( v1, v2, 1 );

Смещенный вектор (результат) будет иметь значение <20.0f, 30.0f, 40.0f, 50.0f>.

В случае значения постоянного сдвига эффективнее использовать форму шаблона XMVectorShiftLeft:


template<uint32_t Elements>
    XMVECTOR XMVectorShiftLeft(FXMVECTOR V1, FXMVECTOR V2)

Example: XMVectorShiftLeft<1>( v1, v2 );
   

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

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

Требования

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

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

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

XMVectorPermute

XMVectorRotateLeft

XMVectorRotateRight