What is wrong in my OpenGL deployment?



  • I developed my desktop OpenGL app on Windows 10 using MSVC 2013 with Qt5.6.0 (msvc2013_64) and Visual Studio plugin. It works fine on Windows 10 but I am having a tough time trying to run it after installation on Windows 7 (using advanced installer). I already tried installing various Visual C++ redistributables which didn't address the issue and now suspect that the problem has to do with ANGLE emulator of OpenGL which I expect to be utilized. I installed the following list of OpenGL-related dll(s) . BTW - installation msi does include everything suggested by windeployqt tool.

    d3d_compiler_47.dll
    libEGL.dll
    libGLESv2.dll
    opengl32sw.dll
    Qt5OpenGL.dll
    Qt5Svg.dll

    but my application still gets in trouble.
    The documentation mentions the necessity to install some DirectX dll(s) but is too vague about details. (http://doc.qt.io/qt-5/windows-deployment.html). Did I miss something?

    Any hints?



  • I created and installed the debug version of the application. Then I used binary search to locate the line of code causing a problem. Here is what I discovered:

    • An instance of my class that is derived from QOpenGLWindow is created okay.

    • Then Qt invokes my override of InitializeGL(). In my override I invoke initializeGLFunctions() and then proceed with my initialization while checking the output of glGetError().

    • I discovered that right after a call glEnable(GL_RESCALE_NORMAL) getGetError() returns 1280 (invalid enum). How could it be? I checked the version of the current openGL context format and it is 2.0. I was under the impression that GL_RESCALE_FORMAT was introduced in 1.2. Or is inappropriate to enable normal rescaling from inside of initializeGL() ?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.