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