我最近创建了我的第一个 GLUT 窗口,并给它一个白色背景和一个摄像头可以看到的地方。
无论如何,我调整了窗口大小,但出现了这些奇怪的线条。它似乎出现了故障并捕获了我桌面屏幕的最新片段。这是我在 imgur 上的截图链接:
http://i.imgur.com/gSRWnc5.png
抱歉,如果图片有点过大,但我想知道是否可以解决这个奇怪的故障。
这是我的代码:
#include <OpenGL/OpenGL.h>
#include <GLUT/GLUT.h>
void display(void) {
glClearColor(1.0, 1.0, 1.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glFlush();
}
int main (int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE);
glutInitWindowSize(400, 400);
glutInitWindowPosition(100, 100);
glutCreateWindow("My First GLUT/OpenGL Window");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
最佳答案
您会遇到这些奇怪的故障,因为您没有调整视口(viewport)的大小。您需要做的是为 glutReshapeFunc 创建一个回调函数。在其中调用 glViewport 来调整视口(viewport)的大小。然后,您需要调用 glutPostRedisplay 以重新执行您的显示功能。
附带说明一下,如果您希望不断执行显示功能,请将 glutIdleFunc 与 glutDisplayFunc 一起使用。
干杯!
关于c++ - 调整我简单的 OpenGL/GLUT 窗口的大小会产生奇怪的线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16766543/