Функция XMStoreU555 (directxpackedvector.h)
Синтаксис
void XM_CALLCONV XMStoreU555(
[out] XMU555 *pDestination,
[in] FXMVECTOR V
) noexcept;
Параметры
[out] pDestination
Адрес, по которому будут храниться данные.
[in] V
Вектор, содержащий данные для хранения.
Возвращаемое значение
Нет.
Remarks
В следующем псевдокоде показана операция функции .
XMVECTOR N;
static const XMVECTOR Max = {31.f, 31.f, 31.f, 1.0f };
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 5/5/5/1 необходимо масштабировать входной вектор на (31.f, 31.f, 31.f, 1.f)
.
Кроме того, вам, вероятно, потребуется изменить стандартное значение .x = RED, .y = GREEN, .z = BLUE, .w = ALPHA color vector's .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) |