Partager via


Fonction XMStoreFloat4x4 (directxmath.h)

Stocke un XMMATRIX dans un XMFLOAT4X4.

Syntaxe

void XM_CALLCONV XMStoreFloat4x4(
  [out] XMFLOAT4X4 *pDestination,
  [in]  FXMMATRIX  M
) noexcept;

Paramètres

[out] pDestination

Adresse à laquelle stocker les données.

[in] M

Matrice contenant les données à stocker.

Valeur retournée

Aucun.

Notes

XMFLOAT4X4 est une matrice de ligne principale. Pour écrire des données principales de colonne, vous devez transposer XMMATRIX via XMMatrixTranpose avant d’appeler la fonction de magasin.

Cette fonction prend une matrice et écrit les composants dans seize valeurs à virgule flottante simple précision à l’adresse donnée. Le composant le plus significatif du premier vecteur de ligne est écrit dans les quatre premiers octets de l’adresse, suivi du deuxième composant le plus significatif de la première ligne, et ainsi de suite. La deuxième ligne est ensuite écrite d’une manière similaire à la mémoire commençant à l’octet 16, suivie de la troisième ligne vers la mémoire à partir de l’octet 32 et enfin de la quatrième ligne vers la mémoire commençant à l’octet 48.

Le pseudocode suivant illustre le fonctionnement de la fonction.

pDestination->_11 = M[0].x; // 4 bytes to address (uint8_t*)pDestination
pDestination->_12 = M[0].y; // 4 bytes to address (uint8_t*)pDestination + 4
pDestination->_13 = M[0].z; // 4 bytes to address (uint8_t*)pDestination + 8
pDestination->_14 = M[0].w; // 4 bytes to address (uint8_t*)pDestination + 12

pDestination->_21 = M[1].x; // 4 bytes to address (uint8_t*)pDestination + 16
pDestination->_22 = M[1].y; // 4 bytes to address (uint8_t*)pDestination + 20
pDestination->_23 = M[1].z; // 4 bytes to address (uint8_t*)pDestination + 24
pDestination->_24 = M[1].w; // 4 bytes to address (uint8_t*)pDestination + 28

pDestination->_31 = M[2].x; // 4 bytes to address (uint8_t*)pDestination + 32
pDestination->_32 = M[2].y; // 4 bytes to address (uint8_t*)pDestination + 36
pDestination->_33 = M[2].z; // 4 bytes to address (uint8_t*)pDestination + 40
pDestination->_34 = M[2].w; // 4 bytes to address (uint8_t*)pDestination + 44

pDestination->_41 = M[3].x; // 4 bytes to address (uint8_t*)pDestination + 48
pDestination->_42 = M[3].y; // 4 bytes to address (uint8_t*)pDestination + 52
pDestination->_43 = M[3].z; // 4 bytes to address (uint8_t*)pDestination + 56
pDestination->_44 = M[3].w; // 4 bytes to address (uint8_t*)pDestination + 60

Configuration requise pour la plateforme

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 avec le SDK Windows pour Windows 8. Pris en charge pour les applications de bureau Win32, les applications du Windows Store et Windows Phone 8 applications.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête directxmath.h

Voir aussi

Fonctions de magasin de vecteurs de la bibliothèque DirectXMath