OpenGL还原由转换矩阵完成的所有转换
我想在一个点上应用一个逆变换矩阵。 这是干什么用的 我的应用程序(游戏)将变换应用到几个方块对象中,每个方块都有自己的变换矩阵,在绘制时应用 但是我需要知道鼠标是否在每个物体上。因此,对于每个对象,我获得鼠标位置,并尝试反向应用所有变换。将正方形和鼠标位置还原为其原点 如果我是对的,这样我就可以将变换后的鼠标位置与对象束进行比较 问题是如何应用此反向转换?OpenGL还原由转换矩阵完成的所有转换,opengl,matrix,mouseover,transformation,Opengl,Matrix,Mouseover,Transformation,我想在一个点上应用一个逆变换矩阵。 这是干什么用的 我的应用程序(游戏)将变换应用到几个方块对象中,每个方块都有自己的变换矩阵,在绘制时应用 但是我需要知道鼠标是否在每个物体上。因此,对于每个对象,我获得鼠标位置,并尝试反向应用所有变换。将正方形和鼠标位置还原为其原点 如果我是对的,这样我就可以将变换后的鼠标位置与对象束进行比较 问题是如何应用此反向转换? 我尝试了逆矩阵,但它始终存在…如果变换矩阵没有逆矩阵(对于大多数常见的变换来说非常不可能),则无法撤消变换。这就是没有逆的意思:变换是单向的
我尝试了逆矩阵,但它始终存在…如果变换矩阵没有逆矩阵(对于大多数常见的变换来说非常不可能),则无法撤消变换。这就是没有逆的意思:变换是单向的
此外,通常的方法不是将鼠标坐标转换为世界空间,而是将对象(或其边界框)转换为窗口空间。如果转换矩阵没有逆矩阵(大多数常见的转换不太可能),则无法撤消转换。这就是没有逆的意思:变换是单向的 此外,通常的做法不是将鼠标坐标转换为世界空间,而是将对象(或其边界框)转换为窗口空间。您可能想试试。您可能想试试