2013-03-30 2 views
0

GLSL 쉐이더를 사용하여 OpenGL 프로그램을 만들고 싶습니다. 하지만 컴파일 할 때 다음과 같은 오류 메시지가 나타납니다.GLSL 쉐이더 용 openGL 버전이 잘못되었습니다.

GL2는 버전 번호를 지원하지 않습니다.

GL 렌더링 : ATI Radeo의 HD 4600 시리즈

GL 버전 : 2.1.8787

#version 400 

in vec3 Color; 
out vec4 FragColor; 

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

내 장치의 구성은 다음과 같다 :

여기 내 버텍스 쉐이더 코드입니다 GLSL 버전 : 1.30

그래서 저는 OpenGL 버전이 필요합니다. 4.3 가능하다면. 그러나 많은 버전을 다운로드했지만 마지막 버전을 찾지 못했습니다. 게다가 GLSL 버전 4가 있어야합니다. 누구나 OpenGL의 마지막 버전을 다운로드 할 수있는 링크를 알고 있습니까?

+0

드라이버를 업데이트 해 보셨습니까? –

+0

새로운 그래픽 드라이버를 다운로드 한 후 # 버전 330을 넣으면 작동합니다. 내 GLSL 버전은 3.30입니다. 귀하의 답변에 감사드립니다. 안녕하세요. – user1364743

답변

1

GL 렌더링 : ATI Radeo HD 4600 시리즈

모든 OpenGL을 4.x를 지원하지 않는 그래픽 카드의 HD의 4xxx 시리즈. OpenGL 3.x로 제한됩니다. 따라서 사용 가능한 최신 드라이버를 다운로드하십시오 (슬프게도, AMD는 작년에이 카드에 대한 새 드라이버를 만들지 않으므로 12.6을 고수 할 것입니다). 그리고 3.30 버전으로 전환하십시오.

2

Nicol Bolas가 지적했듯이 이것은 일반적인 드라이버 또는 오래된 드라이버 때문일 가능성이 큽니다.

누구나 OpenGL의 최신 버전을 다운로드 할 수있는 링크를 알고 있습니까?

OpenGL은 중앙 집중식 구현의 전통적인 API가 아니라 여러 공급 업체 (NVIDIA, AMD 등)가 구현 한 기능 세트의 사양입니다. 이를 통해 특정 공급 업체는 그래픽 하드웨어의 고유 기능을 활용하는 동시에 프로그래머에게 일관된 하드웨어 독립적 인 API를 제공 할 수 있습니다.

AMD의 전체 드라이버 카탈로그는 here을 쿼리 할 수 ​​있습니다.

+0

답변 해 주셔서 감사합니다. – user1364743