我正在为基于 DirectX 11 的 3ds max 编写渲染器插件。
我从 3ds max 得到实际的视口矩阵,在反转后看起来:[Rx Ry Rz] [Ux Uy Uz] [Dx Dy Dz] [Px Py Pz]
- 其中 R 代表 Right,U 代表 Up,D id 方向,P 代表 Position。
我将此视图矩阵应用于 DirectX(我基于 rastertek 教程:http ://www.rastertek.com/dx11tut04.html ),但我没有创建自己的视图矩阵,而是使用 3ds max 的这个视图矩阵,它基本上相同的结构:[Rx Ry Rz 0] [Ux Uy Uz 0] [Dx Dy Dz 0] [Px Py Pz 1]
起初一切似乎都很好,因为最大视口中的视图和 DirectX 窗口中的渲染视图看起来几乎相同。但是最大视口和 DirectX 窗口中的变换并不相同。看起来像:当我在最大移动相机位置时,DirectX 中的相机目标正在移动,而当我在最大移动相机目标(或旋转相机)时,DirectX 中的相机位置正在移动。
感谢您的帮助...我无法弄清楚 3 天...