Я использую DirectXMath
, создавая XMMatrix
и XMVector
в классах.16 байт выравнивание выпуск
Когда я звоню XMMatrixMultiply
, он выдает на него необработанное исключение.
Я нашел онлайн, что это проблема с байтовым аллигментом, так как DirectXMath
использует набор SIMD
, который приводит к распределению распределенных распределений.
Одно из предлагаемых решение предназначено для использования переменных XMFLOAT4X4
, а затем изменить их на временный XMMatrix
всякий раз, когда это необходимо, но это не самое приятное и быстрое решение imo.
Другой должен был использовать _aligned_malloc
, но я понятия не имею, как его использовать. Мне никогда не приходилось делать какие-либо выделения памяти, и для меня это черная магия.
Другой, должен был перегрузить new operator
, но они не предоставили никакой информации, как это сделать.
И что касается метода перегрузки, я не использую new
для создания объектов XMMatrix
, так как я не использую их в качестве указателей.
Все было хорошо, пока я не решил разбить код на классы.
Я думаю, что решение было бы лучше всего здесь, но я понятия не имею, как его использовать, где и когда его называть.