| EGL(オープンGL) | |
|---|---|
| 原作者 | クロノスグループ |
| 開発者 | クロノスグループ |
| 安定版リリース | 1.5 [ 1 ] / 2014年3月19日 (2014年3月19日) |
| 書かれた | C |
| オペレーティング·システム | クロスプラットフォーム |
| プラットフォーム | クロスプラットフォーム |
| タイプ | API |
| Webサイト | www.khronos.org/egl/ |
EGLは、 KhronosレンダリングAPI(OpenGL、OpenGL ES 、 OpenVGなど)と基盤となるネイティブプラットフォームのウィンドウシステムとの間のインターフェースです。EGLはグラフィックスコンテキスト管理、サーフェス/バッファバインディング、レンダリング同期を処理し、「他のKhronos APIを使用した高性能で高速な混合モードの2Dおよび3Dレンダリング」を可能にします。 [ 2 ] EGLは非営利技術コンソーシアムKhronos Groupによって管理されています。
EGLという頭字語は、EGLバージョン1.2以降ではKhronos Native Platform Graphics Interfaceを指す頭字語です。[ 3 ]バージョン1.2より前のEGL仕様の名称はOpenGL ES Native Platform Graphics Interfaceでした。[ 4 ] X.Org開発ドキュメント用語集では、EGLは「Embedded-System Graphics Library」と定義されています。[ 5 ]
採択
WaylandクライアントはEGLを使用してフレームバッファに直接描画します。ディスプレイサーバーはカーネル(ここではLinuxカーネル)とクライアントの間に位置し、指定されたプロトコルを介してクライアントと通信します。
Wayland(ディスプレイサーバープロトコル)のフリー実装は、EGLのMesa実装に依存しています。フレームバッファへのアクセスを可能にするために、libwayland-EGLと呼ばれる特別なライブラリが開発されました。
- BlackBerry 10およびBlackBerry Tablet OSモバイルデバイスオペレーティングシステムは、3DグラフィックスレンダリングにEGLを使用しています。どちらもEGLバージョン1.4をサポートしています。[ 6 ]
- Androidモバイルデバイスのオペレーティングシステムは、 3DグラフィックスレンダリングにEGLを使用します。[ 7 ]
- WaylandディスプレイサーバープロトコルはEGLを使用します。[ 8 ] WaylandクライアントがEGLを使用してフレームバッファに直接描画するように実装されています。
- Mesa 3Dには、以前はEagleとして知られていたEGLの実装があります。[ 9 ]
- Canonical社のMirディスプレイサーバープロトコルはEGLを使用しています。[ 10 ]
- Simple DirectMedia Layerツールキットが EGL 対応に移植されました。Xlibの使用、フレームバッファへの直接書き込み、または EGL の使用が可能です。
- Raspberry Piシングルボードコンピュータには、ハードウェアアクセラレーションによる3DグラフィックスレンダリングのためのEGLインターフェースが搭載されています。[ 11 ]
- 2013年10月4日からのNvidia独自のドライバー331.13 BETAはEGL APIをサポートしています。[ 12 ]
- Tizen OSは3DグラフィックスレンダリングにOpenGL ES 1.1またはOpenGL ES 2.0のいずれかでEGLを使用します[ 13 ]
実装
- Mesa は、EGL を含む多くのグラフィック レンダリング API の無料のオープン ソース ソフトウェア実装です。
- Generic Buffer Management は、バッファを管理するための API です。
参照
- WGL – OpenGLに相当するWindowsインターフェース
- CGL – OpenGLに相当するOS Xインターフェース
- GLX – OpenGLに 相当するX11インターフェース
- AIGLX – GLXを加速させる試み
- WSI – Vulkan ウィンドウ システム インターフェース (WSI) は、EGL が OpenGL ES に対して行うのと同じことを Vulkan に対して行います。
参考文献
- ^ 「プレスリリース、クロノスがEGL 1.5仕様を発表」クロノス・グループ、2014年3月19日。 2014年3月20日閲覧。
- ^ 「EGLの概要、ネイティブプラットフォームインターフェース」。クロノスグループ。2011年7月19日。
- ^ Jon Leech (編). 「Khronos Native Platform Graphics Interface (EGL バージョン 1.2) (2005 年 7 月 28 日)」(PDF) .
- ^ Jon Leech (編). 「OpenGL® ES ネイティブ プラットフォーム グラフィックス インターフェース (バージョン 1.0)」(PDF) .
- ^ 「用語集」 . X.Org Foundation .
- ^ 「開発者ガイド」 。 2013年10月10日時点のオリジナルよりアーカイブ。2014年5月28日閲覧。
- ^ 「Android 2.3 Gingerbread、新機能」。Android Developers。
- ^ Pekka Paalanen (2012年3月10日). 「WaylandスタックにおけるEGLの機能」 .
- ^ 「EGL — Mesa 3D グラフィックス ライブラリの最新ドキュメント」。Mesa 3D ドキュメント。
- ^ “MirSpec” . 2013年3月6日時点のオリジナルよりアーカイブ。2013年3月7日閲覧。
- ^ 「Raspberry Pi VideoCore API - eLinux.org」 . elinux.org .
- ^ 「32ビットプラットフォームでのEGL APIのサポートを追加しました。現在サポートされているクライアントAPIはOpenGL ES 1.1、2.0、3.0で、サポートされているウィンドウシステムバックエンドはX11のみです。」 2013年10月4日 。 2013年10月5日閲覧。
- ^ 「移植ガイド/グラフィックスとUI - Tizen Wiki」。2015年4月27日時点のオリジナルよりアーカイブ。2015年3月6日閲覧。