如何绕局部轴旋转? [Directx]

How can I rotate around local axis? [Directx]

我想在本地 space 围绕 x 和 y、z 轴旋转我的立方体。但是如果我使用 D3DXMatrixRotation(),并且我在 x 轴之后绕 y 旋转,它仍然在世界 space 中旋转。如何在本地旋转对象 space?

转换的典型设置是:

world * view * projection

world 矩阵从本地(即模型)space 转换为世界 space,因此更改世界矩阵将产生一个新的世界 space 位置。

您的意思是您想要围绕与本地原点不同的点旋转 space?

PS:请注意,D3DXMatrixRotation* 适用于旧版 D3DXMath。你应该看看使用 DirectXMath or perhaps the SimpleMath wrapper for it in the DirectX Tool Kit