我最近创建了我的第一个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;
}
答案 0 :(得分:1)
你得到那些奇怪的故障,因为你没有调整视口大小。您需要做的是为glutReshapeFunc创建一个回调函数,您可以在其中调用glViewport来调整视口大小。然后,您需要调用glutPostRedisplay才能重新执行显示功能。
另外,如果您希望不断执行显示功能,请在glutDisplayFunc旁边使用glutIdleFunc。
干杯!