Condividi tramite


Funzione XMStoreFloat4x4 (directxmath.h)

Archivia una XMMATRIX in un XMFLOAT4X4.

Sintassi

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

Parametri

[out] pDestination

Indirizzo in cui archiviare i dati.

[in] M

Matrice contenente i dati da archiviare.

Valore restituito

No.

Osservazioni

XMFLOAT4X4 è una forma matrice principale di riga. Per scrivere dati principali della colonna, è necessario che XMMATRIX venga trasposto tramite XMMatrixTranpose prima di chiamare la funzione di archiviazione.

Questa funzione accetta una matrice e scrive i componenti su sedici valori a virgola mobile a precisione singola all'indirizzo specificato. Il componente più significativo del primo vettore di riga viene scritto nei primi quattro byte dell'indirizzo, seguito dal secondo componente più significativo della prima riga e così via. La seconda riga viene quindi scritta in modo simile alla memoria a partire da byte 16, seguita dalla terza riga alla memoria a partire da byte 32 e infine dalla quarta riga alla memoria a partire da byte 48.

Il codice pseudocodice seguente illustra l'operazione della funzione.

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

Requisiti della piattaforma

Microsoft Visual Studio 2010 o Microsoft Visual Studio 2012 con il Windows SDK per Windows 8. Supportato per app desktop Win32, app di Windows Store e Windows Phone 8 app.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione directxmath.h

Vedi anche

Funzioni dell'archivio vettoriali di libreria DirectXMath