Используя библиотеку D3DX, которая является частью DirectX, в частности, DirectX9 в этом случае, мне интересно, безопасно ли использовать одну и ту же матрицу (или вектор и т. Д.) Для ввода и вывода
D3DXMATRIX mat;
D3DXMatrixInverse(&mat, NULL, &mat);
Я избегал этого, предполагая, что это может привести к плохим вещам, когда части массива будут частично перезаписаны при вычислении результатов, но я вижу очень много кода, который делает именно это.
Краткий тест показывает, что он работает нормально, поэтому я предполагаю, что функции D3DX при необходимости копируют входные данные или какой-то другой метод, чтобы убедиться, что это работает нормально, но я не могу найти это где-то задокументировано, поэтому я неохотно полагаюсь на его работу.
Есть ли официальное заявление об использовании подобных функций?