如何设置像素坐标?

时间:2013-09-21 22:07:16

标签: c++ opengl 3d

是否可以在绘图场景中使用窗口像素坐标在OpenGL中绘制内容?

例如,我想在400x400窗口中绘制一个点(例如在该窗口的中间)。有没有快速设置一切的方法,所以我可以输入:

glVertex3f(200.0 , 200.0 , 1.0);?

1 个答案:

答案 0 :(得分:1)

您需要为第一个设置正交投影矩阵。

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像素的点

请注意,这种旧的渲染方式已弃用,您应该使用VBOs之类,但它仍然适合测试。