Opengl 확장 자습서 2
원문 주소https://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/extensions_part2.php
OpenGL 셰이더 언어 확장
GLSL 프로그램을 사용하기 위한 충분한 확장을 알고 있습니다.
존재하는 GLSL 버전 테스트
OpenGL
가 현재 지원되는지 확인하려면 확장"GL_ARB_shading_language_100"
을 사용할 수 있어야 합니다.이 확장이 존재하면 실제 버전OpenGL
은 glGetString(GL_SHADING_LANGUAGE_VERSION_ARB)
로 조회할 수 있습니다.반환 문자열의 형식은 "major.minor.release vendor_info_string"
입니다."release"
및 "vendor_info_string"
는 옵션입니다.버전 번호는 1
비트 또는 여러 개일 수 있습니다.불행히도 OpenGL 음영처리된 언어의 초기 버전은 사용할 수 없습니다.검색이 "GL_INVALID_ENUM"
오류를 되돌려준다면, 버전 1.051
(major=1,minor=0,revision=51) (주 버전 번호 = 1, 차 버전 번호 = 0, 수정 버전 번호 = 51) 이라고 가정할 수 있습니다.if (glewIsSupported("GL_ARB_shading_language_100"))
{
int major, minor, revision;
const GLubyte* sVersion = glGetString(GL_SHADING_LANGUAGE_VERSION_ARB);
if (glGetError() == GL_INVALID_ENUM)
{
major = 1; minor = 0; revision=51;
}
else
{
// parse string sVersion to get major, minor, revision
}
}
만약
"GL_ARB_shading_language_100"
가 현재 지원된다면 착색기 언어와 관련된 다른 확장도 반드시 존재할 것이다. "GL_ARB_shader_objects"
, "GL_ARB_fragment_shader"
, 그리고"GL_ARB_vertex_shader"
.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.