Funzione XMStoreColor (directxpackedvector.h)

Archivia un XMVECTOR in un XMCOLOR.

Sintassi

void XM_CALLCONV XMStoreColor(
  [out] XMCOLOR   *pDestination,
  [in]  FXMVECTOR V
) noexcept;

Parametri

[out] pDestination

Indirizzo in cui archiviare i dati.

[in] V

Vettore contenente i dati da archiviare. X contiene il canale colore Rosso, Y contiene il canale Verde, Z il Blu e W il canale Alfa.

Valore restituito

No.

Osservazioni

La funzione accetta un vettore, lo blocca nell'intervallo 0.0f a 1.0f, converte i componenti in un formato intero senza segno, normalizzato, inserisce i componenti in un intero a 32 bit e scrive il risultato all'indirizzo specificato. Il componente più significativo viene scritto nella seconda parte più significativa otto bit dell'intero e così via.

Il codice pseudocodice seguente illustra l'operazione della funzione.

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);

Per Direct3D 10.x e Direct3D 11, questo corrisponde all'ordine dei componenti per le funzioni che accettano un parametro ColorRGBA[4] float.


 XMVECTOR Yellow = XMVectorSet( 1.0f, 1.0f, 0.0f, 1.0f );

 XMFLOAT4 clrf;
 XMStoreFloat4( &clrf, Yellow );
 pDeviceContext->ClearRenderTargetView( pRTV, (const float*)clrf );

Requisiti della piattaforma

Microsoft Visual Studio 2010 o Microsoft Visual Studio 2012 con Windows SDK per Windows 8. Supportato per app desktop Win32, app di Windows Store e Windows Phone 8 app.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione directxpackedvector.h (include DirectXPackedVector.h)

Vedi anche

Funzioni dell'archivio vettoriali di libreria DirectXMath