Opengl es 屏幕坐标到标准化设备坐标

Opengl es 屏幕坐标到标准化设备坐标,opengl-es,Opengl Es,我的屏幕坐标为x=216,y=726,w=504,h=284,在使用openglES中的glDraw绘图之前,我们需要将这些坐标转换为标准化设备坐标[-1,1]。 如果您有任何帮助,我们将不胜感激。我对openglES比较陌生 提前感谢。通常,在将坐标从一个坐标系映射到另一个坐标系时,以下步骤: targetPosition.x = targetLeftMost + (sourcePosition.x / sourceWidth) * targetWidth targetPosition.y =

我的屏幕坐标为x=216,y=726,w=504,h=284,在使用openglES中的glDraw绘图之前,我们需要将这些坐标转换为标准化设备坐标[-1,1]。 如果您有任何帮助,我们将不胜感激。我对openglES比较陌生


提前感谢。

通常,在将坐标从一个坐标系映射到另一个坐标系时,以下步骤:

targetPosition.x = targetLeftMost + (sourcePosition.x / sourceWidth) * targetWidth
targetPosition.y = targetTopMost + (sourcePosition.y / sourceHeight) * targetHeight
所以对你来说,应该是:

targetPosition.x = -1 + (sourcePosition.x / 504) * targetWidth //(targetWidth = 2?)

这应该可以让您开始了。

嗨,吉尔,非常感谢您的快速回复。同样,有一种方法可以动态计算根据上述公式计算的x,y坐标的纹理坐标。您不需要在第一次计算纹理坐标后重新计算纹理坐标。在打电话给glDraw之前,你需要做的就是根据你的职位进行翻译。