J'essaye juste de faire un programme qui affiche une fenêtre avec une boîte dedans, mais quand j'exécute le programme je reçois seulement l'affichage de fenêtre peut-être une fois sur 5 courses. Chaque fois que j'exécute la ligne de commande donne des réponses appropriées et je vois le titre de la fenêtre sur le panneau gnome en bas de l'écran, mais la fenêtre elle-même est invisible la plupart du temps.Créer une fenêtre en utilisant glut, mais le programme est incohérent
Je n'ai absolument aucune idée d'où la cause pourrait être et je veux commencer à regarder. Aucun conseil?
I compiler et exécuter en utilisant main.c gcc -lglut:
#include <stdio.h>
#include <GL/freeglut.h>
void keyb(unsigned char key, int x, int y);
//Window identifier
static int win;
main(int argc, char **argv){
//Initialization
glutInit(&argc, argv);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
win = glutCreateWindow("Test Window");
//Callback
glutKeyboardFunc(keyb);
//OpenGL
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glOrtho(-1.0,1.0,-1.0,1.0,-1.0,1.0);
glBegin(GL_POLYGON);
glVertex2f(-0.5, -0.5);
glVertex2f(-0.5, 0.5);
glVertex2f(0.5, 0.5);
glVertex2f(0.5, -0.5);
glEnd();
glFlush();
//Enter main loop
glutMainLoop();
return 0;
}
void keyb(unsigned char key, int x, int y){
printf("Pressed key %c on coordinates %d, %d\n", key, x, y);
if(key == 'q'){
printf("Got q, so qutting\n");
glutDestroyWindow(win);
exit(0);
}
}
merci beaucoup! – oadams