- 论坛徽章:
- 0
|
如题,编译完之后运行程序,窗口一闪将不见了。
任务栏(不知Linux中是否这么叫)上还有,
点任务栏上的程序对应部分则又闪一下立刻消失。
初学OpenGL,实在是不知道为什么。
尝试将
glIdleFunc 设置为 display 函数,
但是窗口不断地闪,而且因为不断循环导致
CPU100%。
百度、Google过都找不到答案,实在无计可施了。
唯有贴上来,寻求帮助。
谢谢。
PS: 代码我是抄
OpenGL Programming Guide(红书)里面的例子的。
其中一个例子如下:
#include <GL/gl.h>
#include <GL/glut.h>
#include <stdlib.h>
void init();
void display();
int main( int argc, char *argv[] )
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize( 333, 322 );
glutInitWindowPosition( 22, 33 );
glutCreateWindow( "Miss You" );
init();
glutDisplayFunc( display );
// glutIdleFunc( display );
glutMainLoop();
return 0;
}
void display()
{
glClear( GL_COLOR_BUFFER_BIT );
glColor3f( 1.0, 1.0, 1.0 );
glBegin( GL_POLYGON ); // 画多边形
glVertex3f( 0.25, 0.25, 0.0 );
glVertex3f( 0.75, 0.25, 0.0 );
glVertex3f( 0.25, 0.75, 0.0 );
glEnd();
glFlush();
}
void init()
{
// select clearing(background) color
glClearColor( 0.0, 0.0, 0.0, 0.0 );
// initialize viewing values
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glOrtho( 0.0, 1.0, 0.0, 1.0, -1.0, 1.0 ); //设置坐标系
} |
|