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