Compartir a través de


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