Я работаю, чтобы мои объекты вращались на моей местности. Теперь вот моя проблема: я могу вращать свой объект, но не масштабировать его или масштабировать, но не вращать. Это зависит от того, какая из моих строк кода будет последней. Например, если код поворота будет последним, он будет вращаться, но не масштабироваться.
Вот мой код
D3DXMatrixMultiply(¤tFrame->exCombinedTransformationMatrix, ¤tFrame->TransformationMatrix, parentMatrix);
D3DXMatrixScaling(¤tFrame->exCombinedTransformationMatrix, trans.Sx, trans.Sy, trans.Sz);
D3DXMatrixRotationX(¤tFrame->exCombinedTransformationMatrix, D3DXToRadian(trans.Rx));
Один из моих приятелей сказал, что я перезаписываю матрицу.
Итак, я попробовал это
D3DXMatrixMultiply(¤tFrame->exCombinedTransformationMatrix, ¤tFrame->TransformationMatrix, parentMatrix);
D3DXMATRIX w;
D3DXMATRIX s;
D3DXMatrixScaling(&s, trans.Sx, trans.Sy, trans.Sz);
D3DXMatrixRotationX(&w, D3DXToRadian(trans.Rx));
D3DXMatrixMultiply(¤tFrame->exCombinedTransformationMatrix, &s, &w);
Результат приведенного выше кода теперь будет масштабироваться независимо от того, что.