1. OpenGL (Open Graphics Library)
ㅇ 다양한 그래픽스 기능을, 플랫폼 독립적인 라이브러리 형태로 제공하는, API 소프트웨어 규격
- (산업계 실질 표준)
ㅇ 특징
- 그래픽스 하드웨어 및 운영체제에 독립적인 소프트웨어 인터페이스 (API) 규격
. 실질적인 라이브러리 구현은, 대부분 그래픽 카드 제작사에 의해 개발됨
- 픽셀 단위가 아닌 객체 단위로, 프로그래밍이 가능토록 한, 저수준의 그래픽스 규격
- 약 250여개의 함수 호출을 이용 가능
. 단순 기하학적 도형에서 복잡한 삼차원 그래픽 생성 가능
ㅇ 역사
- 1992년 실리콘 그래픽사에서 IRIS GL를 공개
- SGI,DEC,IBM,Microsoft社 등이 OpenGL ARB 라는 공식기구 결성
- 1992년 1.0, 1995년 1.1, 2004년 2.0, 2008년 3.0, 2010년 4.0, 2014년 4.5 발표
ㅇ 그래픽스 하드웨어 발전에 맞추어 지속 발전 진화하는 API
ㅇ OpenGL 코어 라이브러리
- 운영체제 플랫폼에 독립적이므로, 입력,출력 루틴 등이 포함되지 않음
- 대신에, 시스템별 라이브러리 사용 필요
. X윈도시스템 : GLX (OpenGL Extension to X Window System)
. 애플시스템 : AGL (AppleGL)
. MS社 윈도우즈 : WGL (Windows to OpenGL)
ㅇ OpenGL 확장 기능 라이브러리
- 코어 기능에 더하여, 하드웨어 공급업체에서 제공
- 통상, 해당 업체를 나타내는 확장명이, 함수,상수 이름에 붙음
. 폭넓게 수용되면, `EXT`,`ARB` 등이 붙음
ㅇ 운영체제별 라이브러리
- X 윈도 시스템 : GLX
- 애플社 시스템 : AGL (AppleGL)
- MS社 시스템 : WGL (Windows to OpenGL)
ㅇ 함수 이름
- 접두어 'gl'로 시작, 작업 명령어의 첫 문자를 대문자로 함
- 작업 내용, 인수 수, 인수 형태를 알 수 있음
ㅇ ... (추가편집중) ...
2. [참고사항]
ㅇ 세이더 (shader)
- 정점(vertex) 정보들을 화면에 보여질수 있도록, 변환하는 작업을 하는 프로그램 (명령어 집합)