VTK 错误:片段着色器不支持扩展"GL_EXT_gpu_shader4"



我有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

是的,它与您的图形驱动程序/卡有关。如错误消息所述,您需要图形驱动程序来支持GL_EXT_GPU_SHADER4扩展名,通常,该扩展名带有OpenGL 3.2及更高。您当前的驱动程序不支持它,实际上,根据我在英特尔支持网站上发现的内容,您的图形卡不支持它。除了更改计算机/GPU外,我还看到了两个选项:

1)使用MESA:MESA具有软件渲染的软件渲染器,该软件渲染器将由CPU上的MESA库处理所有要处理的OpenGL调用。您会得到较慢的渲染,但会起作用。我从来没有使用过它,所以我无法帮助您进行设置,您必须对如何确切地进行研究。

2)如果您不打算在VTK中进行任何复杂的渲染,则可以使用旧的渲染后端,该后端是默认的,直到VTK版本。,因此它应该在您的计算机上工作正常。要激活它,请将VTK的CMAKE变量VTK_RENDERING_BACKENDopenGL2更改为openGL,然后重新构建VTK。它有点慢,没有一些新的酷功能,但是否则它非常有用,并且足以满足许多应用程序。

是。我不需要进行复杂的渲染。解决方案是将VTK的CMAKE变量VTK_Rendering_backend从OpenGL2更改为OpenGL,然后再次构建VTK。

最新更新