#include #include #include #include int frame_count = 0; static void draw( void ) { static float red = 1.0f; static float green = 0.0f; static float blue = 0.0f; glClearColor( red, green, blue, 1.0f ); glClear( GL_COLOR_BUFFER_BIT ); glColor4f( red * 0.5f, green * 0.5f, blue * 0.5f, 1.0f ); glRectf( -0.75f, -0.75f, 0.75f, 0.75f ); glFinish(); blue = green; green = red; red = 0.0f; sleep( 1 ); glutSwapBuffers(); sleep( 1 ); if( frame_count != 4 ) { ++frame_count; glutPostRedisplay(); sleep( 1 ); } else { exit(0); } } int main( int argc, char *argv[] ) { glutInit( &argc, argv ); glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE ); glutCreateWindow( "Flasher" ); glutFullScreen(); glutDisplayFunc( draw ); glutMainLoop(); return 0; }