GLSL着色器的openGL版本不佳

时间:2013-03-30 19:14:46

标签: opengl shader fragment-shader vertex-shader

我只想使用GLSL着色器制作一个OpenGL程序。但是当我编译它时,我有以下错误消息:

GL2不支持版本号。

这是我的顶点着色器代码:

#version 400

in vec3 Color;
out vec4 FragColor;

void main() {
    FragColor = vec4(Color, 1.0);
}

我的设备配置如下:

GL渲染:ATI Radeo HD 4600系列

GL版本:2.1.8787

GLSL版本:1.30

所以我需要opengl 4.3版本才有可能。但我下载了很多版本,但我找不到最后一个版本。另外,我应该有GLSL版本4.有没有人知道下载最新版OpenGL的链接?

2 个答案:

答案 0 :(得分:2)

正如Nicol Bolas所说,这很可能是由于通用或过时的驱动程序。

  

有没有人知道下载最新版OpenGL的链接?

OpenGL不是具有集中式实现的传统API,而是多个供应商(NVIDIA,AMD等)实现的功能集规范。这允许特定供应商利用其图形硬件的独特功能,同时仍为程序员提供一致的,独立于硬件的API。

可以查询AMD完整的驱动程序目录here

答案 1 :(得分:1)

  

GL渲染:ATI Radeo HD 4600系列

HD 4xxx系列显卡根本不支持OpenGL 4.x.它们仅限于OpenGL 3.x.因此,下载最新的可用驱动程序(遗憾的是,AMD去年停止为此卡制作新驱动程序,因此您将无法使用12.6),并切换到3.30版本。