Windows 7 64bit, Qt 4: glGetVersion returns "1.1.0", nvogl32v.dll gets unloaded Windows 7 64bit, Qt 4: glGetVersion returns "1.1.0", nvogl32v.dll gets unloaded windows windows

Windows 7 64bit, Qt 4: glGetVersion returns "1.1.0", nvogl32v.dll gets unloaded


Are you specifying the OpenGL version using QGLFormat.setVersion + QGLFormat.setProfile ?

QGLFormat glFormat;glFormat.setVersion( 3, 2 );glFormat.setProfile( QGLFormat::CoreProfile );glFormat.setSampleBuffers( true );QGLWidget w( glFormat );

Another potential problem. Your glGetVersion should be called be after the OpenGL context has been initialized in the QGLWidget.initializeGL() method.


Okay, I give up.

I'll mark it as a driver bug or Google Chrome incompatibility.

I'm gonna add this quirk|problem to project's readme and ensure that app works fine(i.e. doesn't display artifacts) even if OpenGL is emulated.


OpenGL 3.0 and higher has a deprecation model for legacy features. In old OpenGL versions, the new version was a superset of the old version. I.e. if you wanted OpenGL 1.5 context and got OpenGL 2.0 context, that was fine. Once the possibility of removing old functionality came into being, that is no longer viable. Extension WGL_ARB_create_context was made: it exposes a new function to replace wglCreateContext. Much like wglChoosePixelFormatARB, it adds an extensibility mechanism to the system that makes it possible to extend the options for context creation. It it impossible to create OpenGL 3.2+ Core Profile context without using this function.

Here is the official up-to-date documentation on how to create an OpenGL context: http://www.opengl.org/wiki/Creating_an_OpenGL_Context_(WGL)