Original Post
I'm not sure if anyone else has seen this but here is my scenario.
D3DXMATRIX mInvView;
D3DXMATRIX mView = m_pCurrentCamera->GetViewMatrix();
D3DXMatrixInverse( &mInvView, NULL, &mView );
In this example my view matrix is setup as so (camera is moved 20 on the z-axis). 1.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 20.000000 1.0000000 After passing this through the D3DXMatrixInverse() function I end up with a matrix like the following. 0.99999994 0.00000000 0.00000000 0.00000000 0.00000000 0.99999994 0.00000000 0.00000000 0.00000000 0.00000000 0.99999994 0.00000000 0.00000000 0.00000000 -19.999998 0.99999994 What's with the really bad rounding issues here? I noticed something similar with the D3DXVec3TransformCoord() function. D3DXVec3TransformNormal() on the otherhand doesn't seem to suffer from weird floating point oddities. Any insights would be greatly appreciated. Thanks, ~Rob