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


Функция XMStoreShort2 (directxpackedvector.h)

Хранит XMVECTOR в XMSHORT2.

Синтаксис

void XM_CALLCONV XMStoreShort2(
  [out] XMSHORT2  *pDestination,
  [in]  FXMVECTOR V
) noexcept;

Параметры

[out] pDestination

Адрес, по которому будут храниться данные.

[in] V

Вектор, содержащий данные для хранения.

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

Нет.

Remarks

Эта функция принимает вектор, зажимает его в диапазоне от -32767.0f до 32767.0f, преобразует два наиболее значимых компонента в формат со знаком нормализованного целого числа и записывает результаты в два коротких целочисленных значения по указанному адресу. Наиболее важный компонент записывается в первые два байта адреса, а следующий наиболее значимый компонент — в следующие два байта адреса.

В следующем псевдокоде показана операция функции .

static const XMVECTOR  Min = {-32767.0f, -32767.0f, -32767.0f, -32767.0f};
static const XMVECTOR  Max = {32767.0f, 32767.0f, 32767.0f, 32767.0f};
XMVECTOR               N;
N = XMVectorClamp(V, Min, Max);
N = XMVectorRound(N);

pDestination->x = (int16_t)N.x; // 2 bytes to address pDestination
pDestination->y = (int16_t)N.y; // 2 bytes to address (uint8_t*)pDestination + 2

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

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

Требования

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

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

Функции хранилища векторов библиотеки DirectXMath