OpenGL着色器版本编译错误

时间:2012-09-27 23:18:10

标签: c++ opengl shader

在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兼容性配置文件上下文

1 个答案:

答案 0 :(得分:8)

#version 330 core

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

此:

  

版本:3.2.9756兼容性配置文件上下文

表示您的OpenGL版本为3.2。 The GLSL version that corresponds with OpenGL 3.2 is 1.50.小于3.30。因此缺乏汇编。

更新你的司机;那些非常古老。您的卡应该能够支持GL 4.2。