Bonjour,
Je suis sur Ubuntu et je viens de passer de Qt4 à Qt5 et depuis mon programme qui utilise Qt et OpenGL ne fonctionne plus.
Voici ma classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class GLWidget : public QGLWidget { Q_OBJECT public: GLWidget(QWidget *parent); void initializeGL(); void paintGL();Le programme m'affiche bien les trois "ok".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 GLWidget::GLWidget(QWidget *parent) : QGLWidget(QGLFormat(QGL::SampleBuffers | QGL::DoubleBuffer | QGL::DepthBuffer | QGL::DirectRendering), parent) { format().setSwapInterval(0); format().setVersion(3, 3); if(isValid()){ std::cout<<"ok 1"<<std::endl; } if(context()->isValid()){ std::cout<<"ok 2"<<std::endl; } if(QGLFormat::hasOpenGL()) { std::cout<<"ok 3"<<std::endl; } }
Les problèmes:
- Lorsque que j'essaye de récupérer la version d'OpenGL, j'ai 0 et 0:
Ce n'était pas le cas avec Qt4.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int majorVersionContext = 0, minorVersionContext = 0; glGetIntegerv(GL_MAJOR_VERSION, &majorVersionContext); glGetIntegerv(GL_MINOR_VERSION, &minorVersionContext);
- Ensuite, j'ai plein d'autres erreurs. Example: la fonction suivante fait planter mon programme "glFramebufferTexture(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, textureIDs[0], 0);"
Une idée du problème ?
Merci d'avance.
Partager