Функция XMStoreColor (directxpackedvector.h)
Синтаксис
void XM_CALLCONV XMStoreColor(
[out] XMCOLOR *pDestination,
[in] FXMVECTOR V
) noexcept;
Параметры
[out] pDestination
Адрес, по которому будут храниться данные.
[in] V
Вектор, содержащий данные для хранения. X содержит канал красного цвета, Y — зеленый, Z — синий, а W — альфа-канал.
Возвращаемое значение
Нет.
Remarks
Функция принимает вектор, зажимает его в диапазоне от 0,0f до 1,0f, преобразует компоненты в неподписанный нормализованный целочисленный формат, упаковывает компоненты в 32-разрядное целое число и записывает результат в заданный адрес. Наиболее значительный компонент записывается во второе по значению восемь битов целого числа и т. д.
Следующий псевдокод демонстрирует работу функции .
XMVector N;
N = saturate(V);
N = scale(N, 255.0f);
N = round(N);
pDestination->c = ((uint32_t)N.w << 24) |
((uint32_t)N.x << 16) |
((uint32_t)N.y << 8) |
((uint32_t)N.z);
Для Direct3D 10.x и Direct3D 11 это соответствует порядку компонентов для функций, которые принимают параметр Float ColorRGBA[4].
XMVECTOR Yellow = XMVectorSet( 1.0f, 1.0f, 0.0f, 1.0f );
XMFLOAT4 clrf;
XMStoreFloat4( &clrf, Yellow );
pDeviceContext->ClearRenderTargetView( pRTV, (const float*)clrf );
Требования к платформе
Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и Windows Phone 8 приложений.Требования
Целевая платформа | Windows |
Header | directxpackedvector.h (включая DirectXPackedVector.h) |