In the application where I embedded ParaView client, the other non-ParaView parts and using QVTKOpenGL Widget are working with no problems.
In the applications where I didn’t embed the ParaView client but I’m still using ParaView libraries, QVTKOpenGLWidget is not working (QVTKWiget is OK), I have these errors printed in the standard output every time I interact with the widget :
ERROR: In /home/febus-g1/rpmbuild/BUILD/ParaView-v5.4.1/VTK/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx, line 831
vtkGenericOpenGLRenderWindow (0x11c9050): GL version 2.1 with the gpu_shader4 extension is not supported by your graphics driver but is required for the new OpenGL rendering backend. Please update your OpenGL driver. If you are using Mesa please make sure you have version 10.6.5 or later and make sure your driver in Mesa supports OpenGL 3.2.
ERROR: In /home/febus-g1/rpmbuild/BUILD/ParaView-v5.4.1/VTK/Rendering/OpenGL2/vtkShaderProgram.cxx, line 408
vtkShaderProgram (0x1f9d240): 1: #version 150
2: #ifdef GL_ES
3: #if VERSION == 300
4: #define attribute in
5: #define varying out
6: #endif // 300
7: #else // GL_ES
8: #define highp
9: #define mediump
10: #define lowp
11: #if VERSION == 150
12: #define attribute in
13: #define varying out
14: #endif
15: #endif // GL_ES
16:
17:
18: /*=========================================================================
19:
20: Program: Visualization Toolkit
21: Module: vtkPolyData2DVS.glsl
22:
23: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
24: All rights reserved.
25: See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
26:
27: This software is distributed WITHOUT ANY WARRANTY; without even
28: the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
29: PURPOSE. See the above copyright notice for more information.
30:
31: =========================================================================*/
32:
33: // all variables that represent positions or directions have a suffix
34: // indicating the coordinate system they are in. The possible values are
35: // MC - Model Coordinates
36: // WC - WC world coordinates
37: // VC - View Coordinates
38: // DC - Display Coordinates
39:
40: attribute vec4 vertexWC;
41:
42: // material property values
43: //VTK::Color::Dec
44:
45: // Texture coordinates
46: attribute vec2 tcoordMC; varying vec2 tcoordVCVSOutput;
47:
48: // Apple Bug
49: //VTK::PrimID::Dec
50:
51: uniform mat4 WCVCMatrix; // World to view matrix
52:
53: void main()
54: {
55: // Apple Bug
56: //VTK::PrimID::Impl
57:
58: gl_Position = WCVCMatrix*vertexWC;
59: tcoordVCVSOutput = tcoordMC;
60: //VTK::Color::Impl
61: }
62:
ERROR: In /home/febus-g1/rpmbuild/BUILD/ParaView-v5.4.1/VTK/Rendering/OpenGL2/vtkShaderProgram.cxx, line 409
vtkShaderProgram (0x1f9d240): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
When I use MESA_GL_VERSION_OVERRIDE=3.3 ./myApp, QVTKOpenGLWiget is working but I have vtkPolyData that are not colored with LUT, they are black, I suspect that MESA_GL_VERSION_OVERRIDE is not enough to fix my issue, I played also MESA_GLSL_VERSION_OVERRIDE but either it makes me come back to the same errors as before or it has no effect.
So, I want to understand what the ParaView is doing so that OpenGL is well configured !