Compartir a través de


Función XMStoreFloat4x3 (directxmath.h)

Almacena un XMMATRIX en un XMFLOAT4X3.

Sintaxis

void XM_CALLCONV XMStoreFloat4x3(
  [out] XMFLOAT4X3 *pDestination,
  [in]  FXMMATRIX  M
) noexcept;

Parámetros

[out] pDestination

Dirección en la que se van a almacenar los datos.

[in] M

Matriz que contiene los datos que se van a almacenar.

Valor devuelto

Ninguno.

Comentarios

XMFLOAT4X3 es una forma de matriz principal de fila. Esta función no se puede usar para escribir datos principales de columna, ya que supone que la última columna es 0 0 0 1.

Esta función toma una matriz y escribe los componentes en doce 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, seguido del tercer componente más significativo de la primera fila. A continuación, los tres componentes más significativos de la segunda fila se escriben de una manera similar a la memoria a partir del byte 12, seguida de la tercera fila a la memoria que comienza en el byte 24 y, por último, la cuarta fila a la memoria a partir del byte 36.

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->_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

Requisitos de la plataforma

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

Requisitos

   
Plataforma de destino Windows
Encabezado directxmath.h

Consulte también

Funciones de almacén de vectores de biblioteca de DirectXMath