Partager via


Fonction XMStoreFloat4x3 (directxmath.h)

Stocke un XMMATRIX dans un XMFLOAT4X3.

Syntaxe

void XM_CALLCONV XMStoreFloat4x3(
  [out] XMFLOAT4X3 *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

XMFLOAT4X3 est une forme de matrice de ligne majeure. Cette fonction ne peut pas être utilisée pour écrire des données principales de colonne, car elle suppose que la dernière colonne est 0 0 0 0 1.

Cette fonction prend une matrice et écrit les composants dans douze 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, suivi du troisième composant le plus significatif de la première ligne. Les trois composants les plus significatifs de la deuxième ligne sont ensuite écrits de la même manière dans la mémoire commençant à l’octet 12, suivi de la troisième ligne vers la mémoire commençant à l’octet 24 et enfin de la quatrième ligne vers la mémoire commençant à l’octet 36.

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->_21 = M[1].x; // 4 bytes to address (uint8_t*)pDestination + 12
pDestination->_22 = M[1].y; // 4 bytes to address (uint8_t*)pDestination + 16
pDestination->_23 = M[1].z; // 4 bytes to address (uint8_t*)pDestination + 20

pDestination->_31 = M[2].x; // 4 bytes to address (uint8_t*)pDestination + 24
pDestination->_32 = M[2].y; // 4 bytes to address (uint8_t*)pDestination + 28
pDestination->_33 = M[2].z; // 4 bytes to address (uint8_t*)pDestination + 32

pDestination->_41 = M[3].x; // 4 bytes to address (uint8_t*)pDestination + 36
pDestination->_42 = M[3].y; // 4 bytes to address (uint8_t*)pDestination + 40
pDestination->_43 = M[3].z; // 4 bytes to address (uint8_t*)pDestination + 44

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 directxmath.h

Voir aussi

Fonctions de magasin de vecteurs de la bibliothèque DirectXMath