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


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

Сохраняет XMVECTOR в XMSHORT4.

Синтаксис

void XM_CALLCONV XMStoreShort4(
  [out] XMSHORT4  *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
pDestination->z = (int16_t)N.z; // 2 bytes to address (uint8_t*)pDestination + 4
pDestination->w = (int16_t)N.w; // 2 bytes to address (uint8_t*)pDestination + 6

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

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

Требования

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

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

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