vtk error: extension `GL_EXT_gpu_shader4' unsupported in fragment shader
vtk error: extension `GL_EXT_gpu_shader4' unsupported in fragment shader
我有 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
是的,这是关于您的图片 driver/card。如错误消息所述,您需要您的图形驱动程序支持 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_BACKEND
从 openGL2
更改为 openGL
,然后重新构建 VTK。它有点慢,并且没有一些很酷的新功能,但它的功能非常完美,足以满足许多应用程序的需求。
是的。我不需要做复杂的渲染。解决方案是将 VTK 的 CMake 变量 VTK_RENDERING_BACKEND 从 openGL2 更改为 openGL,然后重新构建 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
是的,这是关于您的图片 driver/card。如错误消息所述,您需要您的图形驱动程序支持 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_BACKEND
从 openGL2
更改为 openGL
,然后重新构建 VTK。它有点慢,并且没有一些很酷的新功能,但它的功能非常完美,足以满足许多应用程序的需求。
是的。我不需要做复杂的渲染。解决方案是将 VTK 的 CMake 变量 VTK_RENDERING_BACKEND 从 openGL2 更改为 openGL,然后重新构建 VTK。