【问题标题】:OpenGL revert all transformation done by a transformation matrixOpenGL 恢复由变换矩阵完成的所有变换
【发布时间】:2012-10-14 13:16:50
【问题描述】:

我想在一个点上应用一个逆变换矩阵。 它是干什么用的?: 我的应用程序(游戏)将变换应用到几个正方形对象中,每个对象都有自己的变换矩阵,在绘制它时会应用这些变换矩阵。

但我需要知道鼠标是否在每个对象上。所以,对于每个对象,我得到鼠标位置,并尝试应用所有反转的转换。将正方形和鼠标位置恢复到其原点。

如果我是对的,这样我就可以将转换后的鼠标位置与对象的位置进行比较。

thw 问题是..:我如何应用这种反向转换? 我尝试了逆矩阵,但它始终存在......

【问题讨论】:

    标签: opengl matrix mouseover transformation


    【解决方案1】:

    如果变换矩阵没有逆矩阵(对于大多数常见的变换来说几乎不可能),那么 没有办法 撤消变换。这就是没有逆的意思:变换是单向的。

    此外,这样做的方式通常不是将鼠标坐标转换为世界空间,而是将对象(或其边界框)转换为 窗口 空间。

    【讨论】:

      【解决方案2】:

      你可能想试试gluUnProject()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-06
        • 1970-01-01
        • 2012-04-24
        • 1970-01-01
        • 1970-01-01
        • 2019-11-01
        • 1970-01-01
        相关资源
        最近更新 更多