代码如下,display是我用glutDisplayFunc注册的函数,不管是窗口刚创建,还是窗口大小被改变,每次都是连续输出两个display
奇怪的是,如果把glClear那句话删掉,就只输出一个display
找bug的时候发现是因为这个。。。求解释!
#include "stdafx.h"
#include
void init()
{
glClearColor(0, 0, 0, 0);
glShadeModel(GL_SMOOTH);
}
void display( void )
{
printf("display\n");
glClear(GL_COLOR_BUFFER_BIT);
}
void reshape(int w, int h)
{
printf("reshape\n");
}
int _tmain(int argc, char** argv)
{
glutInit( &argc, argv );
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize( 500, 500 );
glutInitWindowPosition( 10, 10 );
glutCreateWindow("czd");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}