XMStoreFloat4x3 函数 (directxmath.h)
将 XMMATRIX 存储在 XMFLOAT4X3 中。
语法
void XM_CALLCONV XMStoreFloat4x3(
[out] XMFLOAT4X3 *pDestination,
[in] FXMMATRIX M
) noexcept;
参数
[out] pDestination
存储数据的地址。
[in] M
包含要存储的数据的矩阵。
返回值
无。
备注
XMFLOAT4X3 是行主矩阵形式。 此函数不能用于写出列主数据,因为它假定最后一列为 0 0 0 1。
此函数采用矩阵,并将组件写入给定地址处的 12 个单精度浮点值。 第一行向量的最重要组件写入地址的前四个字节,然后写入第一行的第二个最重要部分,然后写入第一行的第三个有效组件。 然后,从字节 12 开始,将第二行最重要的三个组件以类似方式写出到内存中,然后从字节 24 开始将第三行写到内存中,最后将第四行写到从字节 36 开始的内存中。
以下伪代码演示函数的操作。
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
平台要求
带有 Windows SDK for Windows 8 的 Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012。 支持 Win32 桌面应用、Windows 应用商店应用和 Windows Phone 8 应用。要求
目标平台 | Windows |
标头 | directxmath.h |