【发布时间】:2014-07-30 17:56:33
【问题描述】:
#include <stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<GL/glut.h>
void display (void)
{
glClearColor(1.f, 0.f, 0.f, 1.f);
glEnd();
glFlush();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow("Colorcube Viewer");
glutDisplayFunc(display);
glEnable(GL_DEPTH_TEST);
glutMainLoop();
return 0;
}
我无法弄清楚这段代码有什么问题?
它没有给我一个红色窗口。
【问题讨论】:
-
设置清除颜色后,需要调用清除命令
glClear(GL_COLOR_BUFFER_BIT);。 -
是的,谢谢。你能告诉我为什么有时它会给我一个透明的窗口
-
我不知道
glFLush()在您的示例中可能具有的所有意外行为,所以我不知道为什么它随时都是透明的。不过,在您的小示例中,您不需要glEnd和glFlush。 -
你应该删除那里的
glEnd(),你没有任何以glBegin()开头的原语。 -
Draw in QGLFrameBufferObject 的可能重复项