1

是否可以在 OpenGL 中通过提供窗口像素坐标在绘图场景中绘制一些东西?

例如,我想在一个 400x400 的窗口中画一个点(例如在那个窗口的中间)。有什么快速的方法来设置一切,所以我可以输入:

glVertex3f(200.0 , 200.0 , 1.0);?
4

1 回答 1

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

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

于 2013-09-21T23:40:57.173 回答