【问题标题】:Projection matrix from OpenGL to DirectX从 OpenGL 到 DirectX 的投影矩阵
【发布时间】:2013-03-19 10:52:40
【问题描述】:

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

这是我在MSDN找到的:

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

  • 使用视图矩阵在 z 方向将世界空间缩放 -1。为此,翻转 _31、_32、_33 和 _34 用于视图矩阵的 D3DMATRIX 结构的成员。

这很好用,只是我不能轻易翻转我的顶点,因为我从 CATIA 获得了一个不是原始的 3D 模型,所以我不能使用它。

(我知道行主要和列主要的区别,没关系)

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

【问题讨论】:

    标签: opengl directx coordinate-systems coordinate-transformation


    【解决方案1】:

    关于基础坐标系的手性和给定的旋转变换,右手坐标系中的正旋转由右手法则确定,并且反之亦然。 因此,如果您通过在旋转角度前翻转符号来获得两个具有不同惯用手的坐标系,则您已经调整了旋转矩阵。你已经移植了你的旋转矩阵:)

    【讨论】:

    • 感谢您的回复。其实,你是对的。刚刚找到一篇非常通俗易懂的文章,总结了一个方法,它为我节省了很多时间Transformation matrices between OpenGL and Direct3D
    • 不客气。提醒一下,我看到您是新用户,您应该通过单击向上/向下投票按钮下方的绿色箭头将此问题标记为已回答。
    猜你喜欢
    • 2013-08-22
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多