2013-03-30 51 views
0

我只想用GLSL着色器製作一個OpenGL程序。但是當我編譯它時,我有以下錯誤信息:用於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?

+0

您是否嘗試過更新驅動程序? –

+0

我把#version 330(新的圖形驅動程序下載後),它的工作原理。我的GLSL版本現在是3.30。感謝您的回答。再見 – user1364743

回答

1

GL渲染:ATI Radeo HD 4600系列

的HD 4xxx系列顯卡不支持OpenGL 4.x版的。它們僅限於OpenGL 3.x.所以下載最新的驅動程序(不幸的是,去年AMD停止爲這張卡製作新驅動程序,所以你會被卡在12.6之內),並切換到3.30版。

2

正如Nicol Bolas所說,這很可能是由於通用或過時的駕駛員。

有沒有人知道鏈接下載最新版本的OpenGL?

OpenGL不是一個集中實現的傳統API,而是多個供應商(NVIDIA,AMD等)實現的功能集規範。這允許特定供應商利用其圖形硬件的獨特功能,同時仍爲程序員提供一致的,獨立於硬件的API。

AMD的完整驅動程序目錄可以查詢here

+0

感謝您的回答 – user1364743