OpenGL透视x-y坐标到orhogonal

OpenGL透视x-y坐标到orhogonal,opengl,3d,perspective,orthogonal,Opengl,3d,Perspective,Orthogonal,假设我在OpenGL中有一个透视视图,并在给定深度处选择一个点。假设它在z=-10。如何知道该点的实际x坐标和y坐标?拥有一个正视图是很容易的,因为每个深度都是一样的。但是对于透视图一:我如何找到这些x-y值?您提供的坐标基本上是“世界”坐标——即,您构建的虚拟世界中存在的东西。换句话说,您使用的坐标始终是正交的 举个例子,如果我要做一个房子的3D模型,我可以设置它,这样我就可以用实际的英尺来工作,这样当我可以画一条从0,0到0,10的线来表示正好10英尺长的东西。无论我近距离观看,它都会保持1

假设我在OpenGL中有一个透视视图,并在给定深度处选择一个点。假设它在z=-10。如何知道该点的实际x坐标和y坐标?拥有一个正视图是很容易的,因为每个深度都是一样的。但是对于透视图一:我如何找到这些x-y值?

您提供的坐标基本上是“世界”坐标——即,您构建的虚拟世界中存在的东西。换句话说,您使用的坐标始终是正交的

举个例子,如果我要做一个房子的3D模型,我可以设置它,这样我就可以用实际的英尺来工作,这样当我可以画一条从0,0到0,10的线来表示正好10英尺长的东西。无论我近距离观看,它都会保持10英尺的高度,所以它占据了我的视野,或者从很远的地方看,它只有几个像素长

只有在显示对象时,透视变换才会完成。我根本不需要输入系统的坐标

如果你想计算一个物体的屏幕坐标,是的,你可以。通常的方法是使用
glunproject
。至少在我的经验中,你最终需要这样做是相对不寻常的


你唯一关心的是当你用鼠标在屏幕上选择东西的时候。尽管可以使用gluUnProject,但OpenGL有一种专门用于这种用途的选择模式,并且工作得很好。

gluProject
作为将光标位置投影到“世界”位置的一种方式(和
glunproject
作为一种查找对象在屏幕上的位置的方法).

好的,如果我不清楚的话,我很抱歉,但这也是OpenGL ES for iOS的一个属性吗?谢谢你的回答,Jerry。背景目标实际上在这里陈述:,很抱歉不清楚,这是一个用于iPad的iOS应用程序,所以OpenGL版本实际上是用于嵌入式系统的。正如你所说,问题与选择一个区域有关使用鼠标(通过触摸)为了弄清楚顶点的实际坐标。你知道gluUnProject是否仍然适用于ES吗?@Nicke:它不是内置的,但至少有一个独立的。嗯,再想想。它可能还不是我想要的。假设我在显示器上选择的给定点的z值是已知的。Th这个问题应该只是某种投影函数,对吗?我的意思是,假设在我接触的世界中没有一个真实的物体,比如立方体。