我只是想知道如何从Direct X 11中的Direct X 9执行以下代码?我知道Direct X 11中的MatrixRotationAxis和TransformCoord只接受2个参数,因此我不确定它是否与下面的代码相同。
D3DXMATRIX pitchMatrix;
D3DXMatrixRotationAxis(&pitchMatrix, &right, pitch);
D3DXVec3TransformCoord(&look, &look, &pitchMatrix);
D3DXVec3TransformCoord(&up, &up, &pitchMatrix);
答案 0 :(得分:1)
它与DirectX版本无关。这是关于数学库的。弃用并从SDK中删除D3DXMath后,我们不得不使用DirectXMath或第三方数学库。
请参阅Living without D3DX了解移植说明。
此外,您可能会发现this answer有用。
编辑:值得添加的是DirectXMath具有特定的对齐要求。确保你不要忽视这一点(见:link)
Edit2 :具体来说,XMMatrixRotationAxis
接受2个参数,因为它返回结果。使用D3DXMatrixRotationAxis
,您希望得到第三个参数。有关详细信息,请参阅MSDN docs。
希望这有帮助!快乐的移植!