2011-04-16 61 views
0

我正在努力让我的对象在我的地形上旋转。现在,这是我的问题,我可以旋转我的对象,但不能缩放它们或缩放但不旋转。这取决于我的哪一行代码最后一行。例如,如果旋转代码最后一次旋转,它将旋转但不缩放。我的对象不会在同一时间旋转和缩放

这里是我的代码

D3DXMatrixMultiply(&currentFrame->exCombinedTransformationMatrix, &currentFrame->TransformationMatrix, parentMatrix); 
D3DXMatrixScaling(&currentFrame->exCombinedTransformationMatrix, trans.Sx, trans.Sy, trans.Sz); 
D3DXMatrixRotationX(&currentFrame->exCombinedTransformationMatrix, D3DXToRadian(trans.Rx)); 

我的一个哥们说,我覆盖矩阵。

所以,我想这个

D3DXMatrixMultiply(&currentFrame->exCombinedTransformationMatrix, &currentFrame->TransformationMatrix, parentMatrix); 
D3DXMATRIX w; 
D3DXMATRIX s; 
D3DXMatrixScaling(&s, trans.Sx, trans.Sy, trans.Sz); 
D3DXMatrixRotationX(&w, D3DXToRadian(trans.Rx)); 
D3DXMatrixMultiply(&currentFrame->exCombinedTransformationMatrix, &s, &w); 

代码的结果上面是现在它只会规模不管是什么。

+0

你设置此exCombinedTransformationMatrix作为世界矩阵? – 2011-04-19 08:14:58

+0

我不是,但我试了一下,但它仍然无法正常工作。 – Ramilol 2011-04-19 20:03:44

+0

是的,它做到了。谢谢 – Ramilol 2011-04-19 20:57:37

回答