Функция XMStoreFloat4x3 (directxmath.h)
Сохраняет XMMATRIX в XMFLOAT4X3.
Синтаксис
void XM_CALLCONV XMStoreFloat4x3(
[out] XMFLOAT4X3 *pDestination,
[in] FXMMATRIX M
) noexcept;
Параметры
[out] pDestination
Адрес, по которому будут храниться данные.
[in] M
Матрица, содержащая данные для хранения.
Возвращаемое значение
Нет.
Remarks
XMFLOAT4X3 — это матричная форма со строками. Эта функция не может использоваться для записи данных по основным столбцам, так как предполагается, что последний столбец равен 0 0 0 1.
Эта функция принимает матрицу и записывает компоненты в двенадцать значений с плавающей запятой одной точности по указанному адресу. Наиболее значимая часть вектора первой строки записывается в первые четыре байта адреса, за ним следует второй по значимости компонент первой строки, а затем третий по значимости компонент первой строки. Затем наиболее важные три компонента второй строки записываются в память, начиная с 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
Требования к платформе
Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и Windows Phone 8 приложений.Требования
Целевая платформа | Windows |
Header | directxmath.h |