Función XMStoreColor (directxpackedvector.h)
Almacena un XMVECTOR en un XMCOLOR.
Sintaxis
void XM_CALLCONV XMStoreColor(
[out] XMCOLOR *pDestination,
[in] FXMVECTOR V
) noexcept;
Parámetros
[out] pDestination
Dirección en la que se almacenarán los datos.
[in] V
Vector que contiene los datos que se van a almacenar. X contiene el canal de color rojo, Y contiene el canal Verde, Z azul y W el canal Alfa.
Valor devuelto
Ninguno.
Comentarios
La función toma un vector, lo sujeta al intervalo de 0,0f a 1,0f, convierte los componentes en un formato entero sin signo normalizado, empaqueta los componentes en un entero de 32 bits y escribe el resultado en la dirección especificada. El componente más significativo se escribe en el segundo 8 bits más significativos del entero, etc.
El pseudocódigo siguiente muestra la operación de la función .
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);
Para Direct3D 10.x y Direct3D 11, esto coincide con el orden de componentes de las funciones que toman un parámetro 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 );
Requisitos de la plataforma
Microsoft Visual Studio 2010 o Microsoft Visual Studio 2012 con Windows SDK para Windows 8. Compatible con aplicaciones de escritorio Win32, aplicaciones de la Tienda Windows y Windows Phone 8 aplicaciones.Requisitos
Plataforma de destino | Windows |
Encabezado | directxpackedvector.h (incluya DirectXPackedVector.h) |
Consulte también
Funciones del almacén de vectores de la biblioteca DirectXMath