Migration vers Qt5 : OpenGL ne fonctionne plus
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:
1 2 3 4 5 6 7 8
| class GLWidget : public QGLWidget
{
Q_OBJECT
public:
GLWidget(QWidget *parent);
void initializeGL();
void paintGL(); |
Code:
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;
}
} |
Le programme m'affiche bien les trois "ok".
Les problèmes:
- Lorsque que j'essaye de récupérer la version d'OpenGL, j'ai 0 et 0:
Code:
1 2 3
| int majorVersionContext = 0, minorVersionContext = 0;
glGetIntegerv(GL_MAJOR_VERSION, &majorVersionContext);
glGetIntegerv(GL_MINOR_VERSION, &minorVersionContext); |
Ce n'était pas le cas avec Qt4.
- 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.