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


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

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

Синтаксис

void XM_CALLCONV XMStoreUNibble4(
  [out] XMUNIBBLE4 *pDestination,
  [in]  FXMVECTOR  V
) noexcept;

Параметры

[out] pDestination

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

[in] V

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

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

Нет.

Remarks

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


  XMVECTOR N;
  static const XMVECTOR  Max = {15.f, 15.f, 15.f, 15.f };

  N = XMVectorClamp(V, XMVectorZero, Max);
  N = XMVectorRound(N);

  pDestination->x = (int8_t)N.v[0];
  pDestination->y = (int8_t)N.v[1];
  pDestination->z = (int8_t)N.v[2];
  pDestination->w = (int8_t)N.v[3];


Обратите внимание, что это не нормализованные значения. Чтобы преобразовать в формат RGBA 4/4/4/4,4, необходимо масштабировать входной вектор на (15.f, 15.f, 15.f, 15.f). Кроме того, вам, вероятно, потребуется задать стандартные значения .x = RED, .y = GREEN, .z = BLUE, .w = значения .x и .z, так как формат GPU имеет формат BGR (не RGB).

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

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

Требования

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

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

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