Partager via


Fonction XMStoreColor (directxpackedvector.h)

Stocke un XMVECTOR dans un XMCOLOR.

Syntaxe

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

Paramètres

[out] pDestination

Adresse à laquelle stocker les données.

[in] V

Vecteur contenant les données à stocker. X contient le canal de couleur rouge, Y le canal Vert, Z le bleu et W le canal Alpha.

Valeur retournée

Aucun.

Notes

La fonction prend un vecteur, l’attache à la plage 0.0f à 1.0f, convertit les composants en un format entier normalisé non signé, les empale dans un entier 32 bits et écrit le résultat dans l’adresse donnée. Le composant le plus significatif est écrit dans le deuxième de huit bits les plus significatifs de l’entier, et ainsi de suite.

Le pseudocode suivant illustre le fonctionnement de la fonction.

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

Pour Direct3D 10.x et Direct3D 11, cela correspond à l’ordre des composants pour les fonctions qui prennent un paramètre 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 );

Configuration requise pour la plateforme

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 avec le Kit de développement logiciel (SDK) Windows pour Windows 8. Pris en charge pour les applications de bureau Win32, les applications du Windows Store et Windows Phone 8 applications.

Spécifications

   
Plateforme cible Windows
En-tête directxpackedvector.h (inclure DirectXPackedVector.h)

Voir aussi

Fonctions de magasin de vecteurs de la bibliothèque DirectXMath