在OpenGL中编译简单的顶点着色器时遇到问题,出现以下错误消息:

  • 错误(#106)GL2不支持版本号
  • 错误(#279)无效的布局限定符'location'

  • 我以为我一定使用的是错误版本的GL2,但我不知道如何找到版本号或升级位置(是的,我尝试搜索答案。)附件是我的着色器的副本代码仅供引用和我的openGL信息。
    #version 330 core
    
    layout(location = 0) in vec3 Position;
    
    void main() {
        gl_Position.xyz = Position;
    }
    
  • 供应商:ATI Technologies Inc.
  • 渲染器:ATI Radeon HD 5700系列
  • 版本:3.2.9756兼容性配置文件上下文
  • 最佳答案

    #version 330 core
    

    这表示您的着色器使用GLSL 3.30版。

    这个:



    意味着您的OpenGL版本是3.2。 The GLSL version that corresponds with OpenGL 3.2 is 1.50.小于3.30。因此缺乏编译。

    更新您的驱动程序;那些都很老。您的卡应该能够支持GL 4.2。

    关于c++ - OpenGL Shader版本编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15137969/

    10-11 19:29
    查看更多