Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Bug in qtdatavisual3d Abstract3DRenderer?



  • I'm running Qt 5.13.0 on Ubuntu 16.04.
    Many of the data visualization apps from the qtcreator Examples page fail with this message:

    OpenGL version is too low, at least 2.1 is required
    

    Yet glxinfo indicates that my Ubuntu machine has OpenGL version 4.5:

    glxinfo | grep "OpenGL version"
    OpenGL version string: 4.5 Mesa 18.0.5
    

    This message is generated by Abstract3DRenderer::Abstract3DRenderer (), defined in datavisualization/engine/abstract3drenderer.cpp, which includes this:

            m_funcs_2_1 = QOpenGLContext::currentContext()->versionFunctions<QOpenGLFunctions_2_1>();
            if (m_funcs_2_1)
                m_funcs_2_1->initializeOpenGLFunctions();
    
            // Restore original message handler
            qInstallMessageHandler(handler);
    
            if (!m_funcs_2_1)
                qFatal("OpenGL version is too low, at least 2.1 is required");
    

    If my system has OpenGL 4.5 installed, why does QOpenGLContext::versionFunctions() fail for version 2.1 functions? Why does Abstract3DRenderer insist on 2.1 functions if version 4.5 functions are available?

    Thanks



  • So is qtdatavis3d's Abstract3DRenderer just not compatible with desktop OpenGL versions higher than 2.1? If so that is pretty limiting!

    I've written a short test to verify that QOpenGLContext::versionFunctions() returns nullptr for QOpenGLFunctions_2_1, but returns an object for QOpenGLFunctions_4_5_Core on my Ubuntu machine (which has OpenGL 4.5 installed).


Log in to reply