openGL,可移动2D指向3D点

时间:2013-07-16 11:04:42

标签: qt opengl projection glu

我有一个Qt / openGL应用程序,我在屏幕上显示其坐标取决于3D对象坐标的2D元素。没关系,当我移动3D世界时,我的2D元素也很顺利。 现在,我想在Y屏幕轴上移动我的2D元素,以便在openGL中更改我的3D对象的Y坐标。因此3D对象的X和Z不会改变,只有它的高度Y.

怎么做?

我尝试使用新的2D坐标使用gluUnproject,但是这个函数返回新的(X1,Y1,Z1),你不能告诉它“我已经知道X和Z,只给Y1给出那些X和Z”。如果,我把返回的Y1,并用我的X和Z,当然,它不起作用,因为如果我gluProject(X,Y1,Z)它不给我我的2D点。

我也尝试过:我的3D对象有两个点(X,Y,Z),(X,Y + 1,Z)。我在这两个点上使用了gluProject,这给了我(winX,winY,winZ)和(winX1,winY1,winZ1)(当然winX = winX1)。我推导出deltaY = abs(winY-winY1),这是我在两个3D点之间在Y轴上1个openGL联合的等效像素。它运作良好,但只有我不做太大的旋转,所以这不是一个好的解决方案。

有什么想法吗?

0 个答案:

没有答案