vtk错误:扩展名`GL_EXT_gpu_shader4'片段着色器中不支持

时间:2017-12-06 18:35:49

标签: ubuntu vtk

我有XUBUNTU 16.04 32位。我是VTK库的初学者。我从源代码构建了VTK 7.1.1。我按照https://www.vtk.org/Wiki/VTK/Configure_and_Build的说明进行操作 安装还可以。没有错误。 我下载了最简单的示例:CylinderRenderingProperties。 然后,我编译了这个例子。没有错误。但是,当我运行程序时

./CylinderRenderingProperties

出现错误:

VTK-7.1.1/Rendering/OpenGL2/vtkShaderProgram.cxx, line 395 vtkShaderProgram (0x9fd1510): 0:39(12): error: extension `GL_EXT_gpu_shader4' unsupported in fragment shader

我不知道出了什么问题。可能与任何图形驱动程序有关?这是我的图形硬件的信息:

inxi -G
Graphics:  Card: Intel Mobile 4 Series Integrated Graphics Controller
       Display Server: X.Org 1.19.3 drivers: (unloaded: fbdev,vesa)
       Resolution: 1280x800@60.00hz, 1280x1024@60.02hz
       GLX Renderer: Mesa DRI Mobile Intel GM45 Express x86/MMX/SSE2 GLX Version: 2.1 Mesa 17.0.7

2 个答案:

答案 0 :(得分:3)

是的,这是关于你的图形驱动程序/卡。正如错误消息所述,您需要使用图形驱动程序来支持GL_EXT_gpu_shader4扩展,该扩展通常包含openGL 3.2及更高版本。您当前的驱动程序不支持它,事实上,根据我在英特尔支持网站上发现的内容,您的显卡不支持它。除了更改您的计算机/ GPU之外,我还有两个选择:

1)使用Mesa的软件渲染:Mesa有一个软件渲染器,可以卸载所有要由CPU上的Mesa库处理的openGL调用。你会得到更慢的渲染,但它会工作。我从来没有使用它,所以我无法帮你设置它,你必须做一些关于如何做到这一点的研究。

2)如果您不打算在VTK中进行任何复杂的渲染,您可以使用旧的渲染后端,这是VTK版本7之前的默认渲染。它不使用任何需要openGL 2.1以上的东西。 ,所以它应该在您的计算机上正常工作。要激活它,请将VTK的CMake变量VTK_RENDERING_BACKENDopenGL2更改为openGL,然后重新构建VTK。它有点慢,并没有一些新的酷功能,但除此之外它功能完善,足以满足许多应用。

答案 1 :(得分:0)

是。我不需要做复杂的渲染。解决方案是将VTK的CMake变量VTK_RENDERING_BACKEND从openGL2更改为openGL,然后再次构建VTK。