EGL (API)
보이기
원저자 | 크로노스 그룹 |
---|---|
개발자 | 크로노스 그룹 |
안정화 버전 | 1.5[1]
/ 2014년 3월 19일 |
프로그래밍 언어 | C |
운영 체제 | 크로스 플랫폼 |
플랫폼 | 크로스 플랫폼 |
종류 | API |
웹사이트 | www |
EGL은 (OpenGL, OpenGL ES 또는 OpenVG와 같은) 크로노스 렌더링 API와 기본 네이티브 플랫폼 윈도우 시스템 간의 인터페이스이다. EGL은 그래픽 컨텍스트 관리, 서피스/버퍼 바인딩, 렌더링 동기화를 처리하고 "다른 크로노스 API를 사용하여 고성능, 가속화된, 혼합모드 2D 및 3D 렌더링"을 가능하게 한다.[2] EGL 비영리 기술 컨소시엄 크로노스 그룹에 의해 관리되고 있다.
약어 EGL은 Khronos Native Platform Graphics Interface에 언급되어 EGL 버전 1.2부터 시작된 initialism이다.[3] 버전 1.2이전에는 EGL 스펙의 이름이 OpenGL ES Native Platform Graphics Interface였다.[4] X.Org 개발 문서 용어집에서는 EGL을 "Embedded-System Graphics Library"로 정의한다.[5]
채택
[편집]Wayland 클라이언트는 framebuffer에 직접 그리기 위해 EGL을 사용한다. 디스플레이 서버는 kernel (here: Linux kernel) 과 클라이언트 사이에 위치한다. 주어진 프로토콜을 통해 클라이언트와 통신한다.
Wayland (display server protocol)의 무료 구현은 EGL의 Mesa 구현에 의존한다. libwayland-EGL이라 불리는 특별한 라이브러리가 framebuffer에 대한 액세스를 수용하기 위해 작성되었다.
- BlackBerry 10와 BlackBerry Tablet OS 모바일 장치의 운영체제는 3D 그래픽 렌더링을 위해 EGL을 사용한다. Both support EGL version 1.4.[6]
- 안드로이드 모바일 장치 운영 체제는 3D 그래픽 렌더링을 위해 EGL을 사용한다.[7]
- Wayland 디스플레이 서버 프로토콜은 EGL을 사용한다.[8] Wayland 클라이언트가 EGL을 사용하여 프레임버퍼에 직접 그려주는 방식으로 구현되었다.
- 메사 3D는 이전에 이글(Eagle)로 알려진 EGL을 구현했다.[9]
- 캐노니컬에 의한 Mir 디스플레이 서버 프로토콜은 EGL을 사용한다.[10]
- SDL(Simple DirectMedia Layer) 툴킷은 EGL을 사용하기 위해 포팅되었다. 프레임버퍼에 직접 쓰기위해 Xlib을 사용하거나 EGL을 사용할 수 있다.
- Raspberry Pi 싱글 보드 컴퓨터는 하드웨어 가속 3D 그래픽 랜더링에 EGL 인터페이스를 가지고 있다.[11]
- 2013년 10월 4일부터 독점적인 엔비디아 드라이버 331.13 BETA는 EGL API를 지원한다.[12]
- 타이젠(Tizen) OS는 3D 그래픽 렌더링을 위해 OpenGL ES 1.1 또는 OpenGL ES 2.0과 함께 EGL을 사용한다[13]
구현
[편집]- 메사는 많은 그래픽 렌더링 API들의 자유-오픈 소스 소프트웨어 구현이다. EGL도 그중 하나이다.
- 일반 버퍼 관리(Generic Buffer Management)는 버퍼를 관리하는 API이다.
같이 보기
[편집]- WGL – OpenGL에 상응하는 윈도우 인터페이스
- CGL – OpenGL에 상응하는 OS X 인터페이스
- GLX – OpenGL에 상응하는 X11 인터페이스
- AIGLX – GLX를 가속화 하기 위한 시도
- WSI – Vulkan 윈도우 시스템 인터페이스 (WSI)는 OpenGL ES을 위해 EGL이 수행하는 작업을 Vulkan을 위해 수행.
각주
[편집]- ↑ “Khronos releases EGL 1.5 specification”. Khronos Group. 2014년 3월 19일. 2014년 3월 20일에 확인함.
- ↑ EGL Overview
- ↑ EGL 1.2 Specification
- ↑ EGL 1.0 Specification
- ↑ EGL in X.Org development documentation glossary
- ↑ “보관된 사본”. 2013년 10월 10일에 원본 문서에서 보존된 문서. 2018년 11월 27일에 확인함.
- ↑ http://developer.android.com/about/versions/android-2.3-highlights.html
- ↑ http://ppaalanen.blogspot.com/2012/03/what-does-egl-do-in-wayland-stack.html
- ↑ Mesa EGL
- ↑ “보관된 사본”. 2013년 3월 6일에 원본 문서에서 보존된 문서. 2018년 11월 27일에 확인함.
- ↑ http://elinux.org/RPi_VideoCore_APIs
- ↑ “Added support for the EGL API on 32-bit platforms. Currently, the supported client APIs are OpenGL ES 1.1, 2.0 and 3.0, and the only supported window system backend is X11.”. 2013년 10월 4일. 2013년 10월 5일에 확인함.
- ↑ “보관된 사본”. 2015년 4월 27일에 원본 문서에서 보존된 문서. 2018년 11월 27일에 확인함.
외부 링크
[편집]- EGL
- 공식 웹사이트