是否可以在 OpenGL 中通过提供窗口像素坐标在绘图场景中绘制一些东西?
例如,我想在一个 400x400 的窗口中画一个点(例如在那个窗口的中间)。有什么快速的方法来设置一切,所以我可以输入:
glVertex3f(200.0 , 200.0 , 1.0);?
您需要首先为此设置一个正交投影矩阵。
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrthof(0.0f, WindowWidth, WindowHeight, 0.0f, 0.0f, 10.0f);
glMatrixMode(GL_MODELVIEW);
然后,您可以在窗口坐标中进行渲染。
glPointSize(5.0f);
glBegin(GL_POINTS);
glVertex3f(100.0f, 100.0f, 1.0f);
glEnd();
应该在窗口坐标 [100, 100] 上渲染一个直径为 5 像素的点
请注意,这种旧的渲染方式已被弃用,您应该使用VBO等,但它仍然适合测试。