OpenGL到DirectX的投影矩阵

OpenGL到DirectX的投影矩阵,opengl,directx,coordinate-systems,coordinate-transformation,Opengl,Directx,Coordinate Systems,Coordinate Transformation,我有一个使用openGL的应用程序,我必须将它移植到DirectX。 总结一下我的问题:如何将基于右手坐标系的旋转矩阵移植到左手坐标系 这是我在上发现的: 翻转三角形顶点的顺序,以便系统遍历它们 从前面顺时针方向。换句话说,如果顶点是v0,v1, v2,将它们作为v0、v2、v1传递给Direct3D 使用视图矩阵在z方向上将世界空间缩放-1。要执行此操作,请翻转_31、_32、_33和的符号 _34用于视图矩阵的D3DMATRIX结构的成员 这很好,但我不能轻松翻转顶点,因为我从CATIA

我有一个使用openGL的应用程序,我必须将它移植到DirectX。 总结一下我的问题:如何将基于右手坐标系的旋转矩阵移植到左手坐标系

这是我在上发现的:

  • 翻转三角形顶点的顺序,以便系统遍历它们 从前面顺时针方向。换句话说,如果顶点是v0,v1, v2,将它们作为v0、v2、v1传递给Direct3D

  • 使用视图矩阵在z方向上将世界空间缩放-1。要执行此操作,请翻转_31、_32、_33和的符号 _34用于视图矩阵的D3DMATRIX结构的成员

这很好,但我不能轻松翻转顶点,因为我从CATIA获得的三维模型不是基本体,所以我不能使用它

(我知道行主要和列主要的区别,这无关紧要)


您知道如何将旋转矩阵从openGL移植到DirectX吗?

关于基本坐标系的利手性和给定的旋转变换,右手坐标系中的正旋转由右手规则确定,反之亦然。
因此,如果通过翻转旋转角度前面的符号,有两个不同用手习惯的坐标系,则调整了旋转矩阵。您已经移植了您的轮换矩阵:)

谢谢您的回复。事实上,你是对的。我刚刚发现了一篇非常容易理解的文章,其中总结了一种方法,它为我节省了很多时间,不客气。提醒一下,当我看到您是新用户时,您应该单击“向上/向下投票”按钮下方的绿色箭头,将此问题标记为已回答。