Hey
Im having some trouble with the DirectX 11 matrix functions.
Not 100%, but maybe 80% of the time im getting the following assertion:
((uintptr_t)pSource & 0xF) == 0
It happens when i call the function:
XMLoadFloat4x4A
Relevant code
class Matrix4v4 { public: __declspec(align(16)) float m[4][4]; }; void matrixMultiply( Matrix4v4 * p_Result, const Matrix4v4 * p_A, const Matrix4v4 * p_B ) { using namespace DirectX; XMMATRIX a = XMLoadFloat4x4A( (const XMFLOAT4X4A *)p_A ); XMMATRIX b = XMLoadFloat4x4A( (const XMFLOAT4X4A *)p_B ); XMMATRIX r = XMMatrixMultiply( a, b ); XMStoreFloat4x4A( (XMFLOAT4X4A *)p_Result, r ); }
This must have something to do with the alignment of my data i take it.
But the above code is just like they do it in UE4.
I dont know what to do really..
Is it a compiler setting? (Im using vs2015)