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
-
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).