GLEW 란 무엇이며 어떻게 작동합니까?


15

초보자 친화적 인 설명을 찾고 있습니다. 공식 웹 사이트의 설명이 너무 짧아서 답변보다 더 많은 질문으로 이어집니다.


  • GLEW 란 무엇입니까?

GLEW 개발자 페이지는 다음과 같이 말합니다.

GLEW (OpenGL Extension Wrangler Library)는 크로스 플랫폼 오픈 소스 C / C ++ 확장 로딩 라이브러리 입니다. GLEW는 대상 플랫폼에서 지원되는 OpenGL 확장을 결정하기위한 효율적인 런타임 메커니즘을 제공합니다.


  • 그러나 확장 로딩 라이브러리 란 무엇입니까?

OpenGL의 Wiki는 말합니다

OpenGL 로딩 라이브러리는 런타임, 코어 및 확장 에서 OpenGL 함수대한 포인터를로드 하는 라이브러리입니다 .


  • OpenGL 함수에 대한 포인터를로드 한다는 것은 무엇을 의미 합니까?

  • 확장 이란 무엇입니까 ?

  • " 핵심 및 확장 "이란 무엇입니까?

답변:


20

대부분의 컴파일러는 OpenGL 1.1을 지원하는 OpenGL 헤더를 제공하지만 OpenGL 버전에서 제공되는 대부분의 기능은 더 이상 사용되지 않으며 셰이더 및 정점 버퍼 객체와 같은 중요한 기능이 없습니다. GLEW는 기본적으로 새로운 OpenGL 기능을 제공하는 헤더 (컴파일해야하는 소스 파일이 있지만 프로젝트에 포함시킬 수 있음)입니다.

확장이란 무엇을 의미합니까?

여기에 OpenGL.org의 링크가 있습니다. OpenGL의 일부가 아닌 OpenGL에 대한 추가 기능 일뿐입니다. 유용한 기능을 제공하지만 핵심 OpenGL의 일부가 아니기 때문에 모든 컴퓨터에서 작동한다고 보장 할 수는 없습니다.

OpenGL 함수에 대한 포인터를로드한다는 것은 무엇을 의미합니까?

OpenGL은 그래픽 드라이버에 의해 독립형 라이브러리가 아닌 사양에 따라 구현 된 여러 기능으로 구현되므로 프로젝트에 간단히 연결할 수 없습니다.

각 OpenGL 함수의 드라이버에서 런타임에 함수 포인터를 가져 오려면 함수 (예 : GetProcAddress와 같은 함수를 개발중인 플랫폼에 따라 다름)를 호출해야합니다.

GLEW는 그렇게하는 것이 매우 어려울 수 있기 때문에 존재합니다. 헤더를 포함시키고 초기화 중에 하나의 함수를 호출하면 훨씬 쉽습니다. 바로 GLEW가하는 일입니다. 또한 GLEW는 크로스 플랫폼입니다.

"확장자뿐만 아니라 핵심"이란 무엇입니까?

이는 OpenGL 확장 기능뿐만 아니라 OpenGL 기능도 제공한다는 의미입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.