Math Opengl中的光线三角法

Math Opengl中的光线三角法,math,opengl-es,perspective,Math,Opengl Es,Perspective,我对这个很陌生,我听说我需要得到我的反向投影矩阵等等来创建一个从2D点到3D世界点的光线,但是因为我使用OpenglES,没有很多方法可以经常帮助我。(我根本不知道怎么做)我用一个三元公式来表示这个事实 每次我沿着负Z轴向下迭代一步,我将屏幕上的Y位置(-1到1)乘以 (-z/(cot(myAngle/2)) X位置也一样,但与长宽比相等。 myAngle是平截头体透视角度 这对我来说真的很好,我得到了非常精确的值,所以我想知道的是:为什么我应该使用投影矩阵的逆矩阵,并将它与一些东西相乘,而不是

我对这个很陌生,我听说我需要得到我的反向投影矩阵等等来创建一个从2D点到3D世界点的光线,但是因为我使用OpenglES,没有很多方法可以经常帮助我。(我根本不知道怎么做)我用一个三元公式来表示这个事实

每次我沿着负Z轴向下迭代一步,我将屏幕上的Y位置(-1到1)乘以

(-z/(cot(myAngle/2))

X位置也一样,但与长宽比相等。
myAngle是平截头体透视角度


这对我来说真的很好,我得到了非常精确的值,所以我想知道的是:为什么我应该使用投影矩阵的逆矩阵,并将它与一些东西相乘,而不是使用它?

大多数时候,你的OpenGl相机都有一个矩阵。当你你手上已经有了一个摄像机矩阵。矩阵乘法的速度也更快(哦,以计算机的速度来说稍微快一点)。如果你每帧要做上百万次这样的计算,那就很重要了

如果您感兴趣,这里有一些关于开始学习相机课程的好信息:

还有一些


根据您正在研究的内容,我不会太担心“最好的方法”。您只需要确保了解代码正在做什么,然后继续改进它。

大多数情况下,您的OpenGl相机都有一个矩阵。当您手头已经有一个相机矩阵时,使用逆矩阵很简单。矩阵乘法的速度也更快(哦,在计算机速度下是非常轻微的)。如果你每帧都要进行数以百万计的计算,那就很重要了

如果您感兴趣,这里有一些关于开始学习相机课程的好信息:

还有一些


根据您正在做的工作,我不会太担心“最好的方法”。您只需要确保您了解代码正在做什么,然后继续改进它。

经过一些思考,我想当相机进入图片时,它会与此完全不同。经过一些思考,我想当相机进入画面时,它得到的是一个完全不同的画面,然后就是这个。