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