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