XMMatrix
및 XMVector
을 클래스로 사용하여 DirectXMath
을 사용 중입니다.16 바이트 정렬 문제
XMMatrixMultiply
을 호출하면 처리되지 않은 예외가 발생합니다.
DirectXMath
은 SIMD
명령어 세트를 사용하므로 잘못 정렬 된 힙 할당을 초래하므로 온라인에서 바이트 악센트가있는 것으로 나타났습니다.
제안 된 솔루션 중 하나는 XMFLOAT4X4
개의 변수를 사용하고 필요할 때마다 임시 XMMatrix
으로 변경하는 것이었지만 가장 좋고 빠른 해결책은 아닙니다.
또 다른 하나는 _aligned_malloc
을 사용했지만 아직 사용 방법을 모릅니다. 나는 어떤 메모리 할당도 할 필요가 없었고 그것은 나를 위해 검은 마법이다.
또 다른 하나는 new operator
을 오버로드하는 것이었지만 아직 어떻게해야하는지에 대한 정보는 제공하지 않았습니다.
오버로드 방법과 관련하여 포인터로 사용하지 않기 때문에 XMMatrix
개체를 만들 때 new
을 사용하지 않습니다.
코드를 클래스로 분할하기 전까지는 모두 잘 작동했습니다.
나는 여기서 _alligned_malloc
해결책이 가장 좋을 것이라고 생각하지만, 그것을 사용하는 방법을 알지 못한다.