如何根据OpenGL中不同的屏幕尺寸/分辨率重新计算线的x,y值?

时间:2016-05-25 10:23:01

标签: c# opengl

将x,y值作为较大的值,因此不能绘制线,因为坐标位于相应的窗口坐标之外。如何根据OpenGL中不同的屏幕尺寸/分辨率重新计算x,y值。

提前致谢。

1 个答案:

答案 0 :(得分:0)

在openGL中,这是使用所谓的“投影矩阵”完成的。这将定义您的“世界坐标”地图如何映射到您的屏幕。

如果您仍在使用“旧”OpenGL的固定功能管道,那么通过选择它“glMatrixMode(GL_PROJECTION);”然后对其应用操作来完成您想要的映射(glLoadIdentity,glScale,glRotate ,glTranslate,glOrtho,....)

如果您正在使用着色器,那么您可以实际使用制服来设置该矩阵并将其应用于顶点着色器中的所有顶点坐标。

请参阅https://solarianprogrammer.com/2013/05/22/opengl-101-matrices-projection-view-model/