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();
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;
	}
}
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 : 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);
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.