Compartir a través de


Función XMStoreFloat4x4 (directxmath.h)

Almacena un XMMATRIX en un XMFLOAT4X4.

Sintaxis

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

Parámetros

[out] pDestination

Dirección en la que se almacenarán los datos.

[in] M

Matriz que contiene los datos que se van a almacenar.

Valor devuelto

Ninguno.

Comentarios

XMFLOAT4X4 es un formulario de matriz principal de fila. Para escribir datos principales de columna, se requiere que XMMATRIX se transponga a través de XMMatrixTranpose antes de llamar a la función store.

Esta función toma una matriz y escribe los componentes en dieciséis valores de punto flotante de precisión sencilla en la dirección especificada. El componente más significativo del primer vector de fila se escribe en los cuatro primeros bytes de la dirección, seguido del segundo componente más significativo de la primera fila, etc. A continuación, la segunda fila se escribe de forma similar a la memoria a partir del byte 16, seguida de la tercera fila a la memoria que comienza en el byte 32 y, por último, la cuarta fila a la memoria a partir del byte 48.

El pseudocódigo siguiente muestra la operación de la función .

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

Requisitos de la plataforma

Microsoft Visual Studio 2010 o Microsoft Visual Studio 2012 con el Windows SDK para Windows 8. Compatible con aplicaciones de escritorio Win32, aplicaciones de la Tienda Windows y Windows Phone 8 aplicaciones.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado directxmath.h

Consulte también

Funciones del almacén de vectores de la biblioteca DirectXMath