【问题标题】:Unsupported GLSL Shaders不支持的 GLSL 着色器
【发布时间】:2012-05-05 16:02:58
【问题描述】:

对于一个类,我必须使用 Java、jogl 和 lwjgl。 我们得到了一些代码,现在我正在尝试运行此代码,但是我得到了错误:

" GLSL 3.30 不受支持。支持的版本有:1.00 ES、1.10 和 1.20"

我无法确定支持哪些着色器,或者是驱动程序问题还是硬件缺陷。

目前我正在进行 debian 测试/不稳定,并使用当前的 xorg-video-ati 驱动程序包。

谁能告诉我如何确定支持哪些着色器(如果有的话)?

【问题讨论】:

    标签: java opengl glsl shader notsupportedexception


    【解决方案1】:

    " 不支持 GLSL 3.30。支持的版本有:1.00 ES、1.10 和 1.20" (...) 目前我正在进行 debian 测试/不稳定并使用当前的 xorg-video-ati 驱动程序包。

    这并不奇怪,因为到目前为止,DRI/Mesa xorg-video-ati aka radeon 驱动程序仅支持带有扩展的 OpenGL-2.1。 OpenGL-3 仍处于 DRI/Mesa 开发的实验阶段。

    您需要安装 AMD/ATI 专有的 fglrx/Catalyst 驱动程序才能获得对 OpenGL-3 及更高版本的支持(当然这仍然取决于您的硬件)。幸运的是,fglrx 的质量得到了显着提高,而我最后一次详尽的测试(使用 Radeon HD6570)显示出极大的稳定性(它们甚至可以通过所有的折磨测试,比如模糊的上下文和 FB 设置)。我发现并报告的唯一真正的错误是,无论垂直同步和交换间隔如何设置,glXSwapBuffers 都不会阻塞间接渲染上下文。

    【讨论】:

      【解决方案2】:

      GLSL 3.30 需要 OpenGL 3.3。您的硬件似乎无法运行 GL 3.x,或者您最近没有更新足够的驱动程序。

      【讨论】:

        【解决方案3】:

        如果您查看 GLSL 文件或作为着色器加载的字符串,应该有一行:

        #version 330
        

        这意味着版本 3.3。您可以尝试将其更改为:

        #version 120
        

        (1.2 版)

        不能保证它会起作用,但如果着色器很简单,你可能会侥幸成功。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多