GluProject不工作...如果对象有Z = -1.0f并且它被缩放到(0.01f,0.01f,0.0f)参数我必须传递给GluProject?

时间:2011-11-09 12:09:00

标签: android opengl-es

到目前为止,我使用gluProject,透视投影以及一个以屏幕左侧顶点(-1,-1,0)为中心的可缩放方格。我缩放调整Z轴的方块。

例如,我将方块缩放到Z = -5,然后使用openGL对象参数(-1,-1,0)调用gluProject以知道窗口像素X,该顶点的Y位置广场。它工作正常。

但是现在,我对我的架构感兴趣,现在我没有使用Z来缩放,我正在缩放以缩放。我的方格在Z = -1.0f,最初它被缩放到(0.01f,0.01f,0.0f),是一个小方块。

我必须将X,Y,Z值传递给gluProject?我传递-1,-1,0,gluProject给我错误的x,y outPutCoords值,( - 101.774124,-226.27419)

1 个答案:

答案 0 :(得分:1)

一次又一次: gluProject与OpenGL转换管道完全相同(当然,如果使用OpenGL的矩阵和视口调用)。因此,无论您发送到OpenGL的顶点是什么,这些都是您必须放入gluProject的顶点。

如果使用顶点(-1,-1,0)渲染多边形,则必须使用此顶点调用gluProject。每个其他变换(无论是平移,缩放,旋转等)都来自变换矩阵。但如果您确实使用顶点(0.01,0.01,0)渲染多边形,则必须将其放入gluProject

确保您完全理解OpenGL转换管道(this question的答案可能有帮助)以及gluProject的工作方式,然后再继续使用它并针对您认为错误的每个小输入发布问题结果

相关问题