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