Compartilhar via


Função XMStoreFloat4x4 (directxmath.h)

Armazena um XMMATRIX em um XMFLOAT4X4.

Sintaxe

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

Parâmetros

[out] pDestination

Endereço no qual armazenar os dados.

[in] M

Matriz que contém os dados a serem armazenados.

Valor retornado

Nenhum.

Comentários

XMFLOAT4X4 é uma forma de matriz de linha principal. Para gravar dados principais de coluna, é necessário que o XMMATRIX seja transposto via XMMatrixTranpose antes de chamar a função de repositório.

Essa função usa uma matriz e grava os componentes em dezesseis valores de ponto flutuante de precisão única no endereço fornecido. O componente mais significativo do vetor da primeira linha é gravado nos quatro primeiros bytes do endereço, seguido pelo segundo componente mais significativo da primeira linha e assim por diante. Em seguida, a segunda linha é gravada de maneira semelhante à memória, começando no byte 16, seguida pela terceira linha até a memória começando no byte 32 e, por fim, a quarta linha para a memória começando no byte 48.

O pseudocódigo a seguir demonstra a operação da função .

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 plataforma

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 com o SDK do Windows para Windows 8. Com suporte para aplicativos da área de trabalho Win32, aplicativos da Windows Store e aplicativos Windows Phone 8.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho directxmath.h

Confira também

Funções de repositório de vetores da biblioteca DirectXMath