2010-02-05 4 views
0

Il m'a fallu> 1 jour et je n'ai toujours pas compris pourquoi. J'utilise Ubuntu 9.10, en essayant de faire un simple OpenGL pour travailler en C++.GLUT_SINGLE affiche un écran noir

Chaque fois que j'ai utilisé le paramètre GLUT_SINGLE, cela me donne un écran noir complet. J'ai dû cliquer sur la souris au hasard sur cet écran pour sortir. C'est tellement énervant. Peut-être un bug. Quelqu'un peut-il aider?

Voici le code que j'utilise, dessiner un triangle simple C++:

#include <GL/glut.h> 
#include <GL/gl.h> 
#include <GL/glu.h> 

void myDisplay() 
{ 
    glClear(GL_COLOR_BUFFER_BIT); 
    glBegin(GL_TRIANGLES); 
     glVertex3f(-0.5,-0.5,0.0); 
     glVertex3f(0.5,0.0,0.0); 
     glVertex3f(0.0,0.5,0.0); 
    glEnd(); 
    glFlush(); 

    glutSwapBuffers(); 
} 

void myReshape(int a, int b) 
{ 
} 

void myMouse(int a, int b, int c, int d) 
{ 
} 

void myKeyboard(unsigned char c, int a, int b) 
{ 
} 

void myInit() 
{ 
} 

int main(int argc, char ** argv) 
{ 
    glutInit(&argc,argv); // initiaize the toolkit 
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // set the display mode 
    glutInitWindowSize(640,480); // set window size 
    glutInitWindowPosition(0,0); 
    glutCreateWindow("first window"); 

    glutDisplayFunc(myDisplay); 


    glutReshapeFunc(myReshape); 
    //glutMouseFunc(myMouse); 
    //glutKeyboardFunc(myKeyboard); 

    myInit(); 
    glutMainLoop(); 

    return 0; 
} 
+0

Il ne devrait pas être nécessaire d'appeler 'glSwapBuffers()' dans une fenêtre à tampon unique. Cela ne devrait cependant pas avoir d'effet. – Thomas

+0

Fonctionne bien pour moi sur Win7 x64. –

Répondre

1

J'utilise aussi Ubuntu 9.10, avec les dernières mises à jour. Lors de la compilation de votre code avec

g++ -o test -lglut -lGLU -lGL test.cpp 

cela fonctionne parfaitement. Cela pourrait en effet être un bug.

Les autres applications OpenGL fonctionnent-elles avec un seul tampon? Avez-vous essayé un autre pilote vidéo (non libre ou gratuit)?

+0

oui, je pense aussi que le problème est avec mon pilote de carte graphique. J'essaie toujours de chercher un bon pilote de carte graphique pour mon ordinateur portable. C'est Radeon Xpress 200M sur Ubuntu 9.10. – root

0

Fonctionne bien ici. Ubuntu 9.10, x64

OpenGL chaîne renderer: Mesa DRI Intel (R) Q35 GEM 20090712 2009T2 RC3

chaîne de version OpenGL: 1.4 Mesa 7,6

Je soupçonne que votre pilote peut être buggy. Essayez de désactiver les effets visuels du bureau (Système -> Préférences -> Apparence).

Questions connexes