OpenGL

less than 1 minute read



OpenGL

Open Graphics Library

컴퓨터 그래픽을 하드웨어 가속으로 처리(렌더링)함과 더불어 다양한 분야에서 사용될 수 있도록 Khronos Group에서 발표한 라이브러리이다.

OpenGL 이전에도 솔루션이 존재했지만 여러 OS에서 사용할 수 있도록 범용성과 독립성이 고려되지 않았기 때문에 제약이 있었다.


Khronos Group은 대부분 그래픽 카드 제조업체로 구성되어있다.

OpenGL은 해당 그래픽 카드를 제어하기 위한 구현에 대한 spcification이다.

즉 추상화되어있는 OpenGL이 있고 그것을 구현하는것이 개발자의 몫이다.


API?

OpenGL을 찾아보면 API라는 말이 따라온다.

그래픽 카드 개발자가 자신의 드라이버를 위한 API를 만들 수 있도록 정한 규격이 OpenGL인 셈이다.

즉 OpneGL을 구현하면 그래픽 카드의 해당 드라이버에서 제공하는 API를 통해서 접근이 이루어지며 이 때 개발자가 그래픽 카드의 종류별로 코드를 작성할 필요없도록 공통된 인터페이스를 생성해 주기 때문에 OpenGL이 API인가에 대해서는 의견이 다른 글들을 찾아볼 수 있다.


특징

  • 범용성

  • 효율성

  • 독립성

  • 완전성

  • 상호작업성

OpenGL 자체는 C기반으로 제작되었지만 크로스 플랫폼을 지향하며 어떤 OS나 프로그래밍 언어에서 사용할 수 있다.

라이브러리를 다운받고 IDE를 추가하여 include를 통해 사용할 수 있다.