EGL (API)
1. 개요
EGL은 OpenGL ES 또는 OpenVG와 기본 윈도우 시스템 간의 인터페이스 역할을 하는 그래픽 API이다. 블랙베리 10, 안드로이드, 타이젠과 같은 모바일 운영 체제에서 3D 그래픽 렌더링에 사용되며, 웨이랜드, 미르, Mesa 3D, SDL, 라즈베리 파이, 엔비디아 드라이버 등 다양한 환경에서 채택되었다. Mesa는 EGL을 포함한 다양한 그래픽 렌더링 API의 자유-오픈 소스 소프트웨어 구현체이다.
| 이름 | EGL (OpenGL) |
|---|
이미지 준비중입니다.
| 작성자 | 크로노스 그룹 |
|---|---|
| 개발자 | 크로노스 그룹 |
| 최신 릴리스 버전 | 1.5 |
| 최신 릴리스 날짜 | 2014년 3월 19일 |
| 프로그래밍 언어 | C |
| 운영 체제 | 크로스 플랫폼 |
| 플랫폼 | 크로스 플랫폼 |
| 장르 | API |
| 웹사이트 | EGL 공식 웹사이트 |
-
자유 윈도 시스템 -
X 윈도 시스템
X 윈도 시스템은 네트워크 기반 분산형 윈도 시스템으로, 다양한 운영체제에서 GUI 환경을 제공하며 클라이언트-서버 모델 기반의 네트워크 투명성을 특징으로 한다. -
자유 윈도 시스템 -
XFree86
XFree86은 유닉스 계열 운영 체제에서 PC 호환 그래픽 하드웨어를 지원하는 X 윈도 시스템의 자유 소프트웨어 구현체였으나, 개발 방식 및 라이선스 문제로 X.Org 서버로 대체되었고 2011년에 프로젝트가 중단되었다. -
자유 그래픽 스포트웨어 -
김프
김프(GIMP)는 GNU 프로젝트에서 개발된 크로스 플랫폼 기반의 무료 오픈소스 래스터 그래픽 편집기로, 다양한 운영체제를 지원하며 풍부한 기능을 제공하지만 사용자 인터페이스에 대한 비판과 일부 기능의 부족함에 대한 평가도 존재한다. -
자유 그래픽 스포트웨어 -
잉크스케이프
잉크스케이프는 완전한 SVG 표준 구현을 목표로 개발된 자유-오픈 소스 벡터 그래픽 편집기로, 다양한 객체 조작 및 패스 연산 기능을 제공하며 여러 플랫폼을 지원하는 특징을 갖는다. -
API -
Tk (소프트웨어)
Tk는 Tcl 스크립팅 언어의 크로스 플랫폼 GUI 툴킷으로, 다양한 플랫폼 이식과 여러 프로그래밍 언어 바인딩을 지원하며 사용자 정의 가능한 위젯들을 제공한다. -
API -
ASIO
ASIO는 독일 스타인버그에서 개발한 오디오 입출력 API 규격으로, 낮은 지연 시간과 멀티 채널 I/O를 지원하며 윈도우 운영체제에서 주로 사용된다.
2. 채택
EGL은 다양한 운영 체제와 플랫폼에서 널리 채택되어 사용되고 있다.
OpenGL ES 또는 OpenVG와 기본 윈도우 시스템간의 인터페이스로 EGL은 널리 채택되었다.
* 웨이랜드 디스플레이 서버 프로토콜은 EGL을 사용한다. 이는 웨이랜드 클라이언트가 EGL을 사용하여 프레임 버퍼에 직접 그릴 수 있도록 구현되었다.
* Mesa 3D는 이전에 이글(Eagle)로 알려졌던 EGL 구현을 가지고 있다.
* 캐노니컬의 Mir 디스플레이 서버 프로토콜은 EGL을 사용한다.
* SDL 툴킷은 EGL을 사용하도록 이식되었다. 이는 Xlib를 사용하거나, 프레임 버퍼에 직접 쓰거나, EGL을 사용할 수 있다.
* Raspberry Pi 싱글 보드 컴퓨터는 하드웨어 가속 3D 그래픽 렌더링을 위한 EGL 인터페이스를 가지고 있다.
* 2013년 10월 4일부터 독점적인 엔비디아 드라이버 331.13 BETA는 EGL API를 지원한다.
2.1. 모바일
* 블랙베리 10 및 블랙베리 태블릿 OS 모바일 장치 운영체제는 3D 그래픽 렌더링을 위해 EGL을 사용하며, EGL 버전 1.4를 지원한다.
* 안드로이드 모바일 장치 운영 체제는 3D 그래픽 렌더링을 위해 EGL을 사용한다.
* 타이젠(Tizen) OS는 3D 그래픽 렌더링을 위해 OpenGL ES 1.1 또는 OpenGL ES 2.0과 함께 EGL을 사용한다.
2.2. 데스크톱 및 임베디드 시스템
--
--
* 블랙베리 10 및 블랙베리 태블릿 OS 모바일 장치 운영 체제는 3D 그래픽 렌더링에 EGL을 사용하며, 둘 다 EGL 버전 1.4를 지원한다.
* 안드로이드 모바일 장치 운영 체제는 3D 그래픽 렌더링을 위해 EGL을 사용한다.
* Wayland 디스플레이 서버 프로토콜은 EGL을 사용한다. Wayland 클라이언트가 EGL을 사용하여 프레임버퍼에 직접 그려주는 방식으로 구현되었다.
* Mesa 3D는 이전에 이글(Eagle)로 알려진 EGL을 구현했다.
* 캐노니컬에 의한 Mir 디스플레이 서버 프로토콜은 EGL을 사용한다.
* SDL(Simple DirectMedia Layer) 툴킷은 EGL을 사용하기 위해 포팅되었다. 프레임버퍼에 직접 쓰기위해 Xlib을 사용하거나 EGL을 사용할 수 있다.
* Raspberry Pi 싱글 보드 컴퓨터는 하드웨어 가속 3D 그래픽 랜더링에 EGL 인터페이스를 가지고 있다.
* 2013년 10월 4일부터 독점적인 엔비디아 드라이버 331.13 BETA는 EGL API를 지원한다.
* 타이젠(Tizen) OS는 3D 그래픽 렌더링을 위해 OpenGL ES 1.1 또는 OpenGL ES 2.0과 함께 EGL을 사용한다.
3. 구현
메사는 여러 그래픽 렌더링 API를 구현한 자유-오픈 소스 소프트웨어이며, EGL도 그중 하나이다. 일반 버퍼 관리(Generic Buffer Management)는 버퍼를 관리하는 API이다.