多数情况下,在游戏开发过程中,我们需要经常用变换来设置角色的变换。下面以平移、缩放、旋转来说明一点在矩阵变换中需要注意的地方。
假设有如下数据:
D3DXMatrix rotateMat;
D3DXMatrix scaleMat;
D3DXMatrix translateMat;
...... // 这里的 ...... 表示,经过了一系列的变换,在接下来的代码中,rotateMat、scalMat、translateMat已经是经过变换的了。
D3DXMatrix worldMat;//该矩阵用于保存上面三个合成的最终变换信息
D3DXMatrixIdentity(&worldMat);
D3DXMatrixMultiply(&worldMat, &rotateMat, &worldMat);//注意格式,需要如此写。
D3DXMatrixMultiply(&worldMat, &scaleMat, &worldMat); //注意格式,需要如此写。
D3DXMatrixMultiply(&worldMat, &translateMat, &world);//注意格式,需要如此写。