我需要在OpenGL(c ++,OS:Windows)中绘制一个平面(使用GL_QUADS),以便它与屏幕的中心对齐。

我的意思是,在任何调整窗口大小的情况下,原点都将位于平面的中心。

我知道我必须使用视口坐标和尺寸,但是我无法配置如何使用它们。

另外,我正在使用gluPerspective

最佳答案

原点与您的窗口大小无关。调整窗口大小时,请重新计算窗口的纵横比(window.width / window.height),并使用新的纵横比通过再次调用gluPerspective重置投影矩阵。

之后,只要将glLoadIdentity()放入模型视图矩阵,您就可以使用以下命令在屏幕中央绘制一个四边形

glBegin(GL_QUADS);
glVertex3f(-.5f,.5f,-1);
glVertex3f(-.5f,-.5f,-1);
glVertex3f(.5f,-.5f,-1);
glVertex3f(.5f,.5f,-1);
glEnd();


那应该在屏幕中央放置一个单位大小的四边形。

关于c++ - 如何将平面设计为处于任何窗口大小的视口(viewport)中心,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14980034/

10-15 00:29