EGL(API)

EGL(オープンGL)
原作者クロノスグループ
開発者クロノスグループ
安定版リリース
1.5 [ 1 ] / 2014年3月19日 (2014年3月19日
書かれたC
オペレーティング·システムクロスプラットフォーム
プラットフォームクロスプラットフォーム
タイプAPI
Webサイトwww.khronos.org/egl/

EGLは、 KhronosレンダリングAPIOpenGLOpenGL 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 ]

採択

OpenGL ESまたはOpenVGと基礎となるウィンドウシステムとの間のインターフェースとして、EGLは広く採用されています。
Linuxグラフィックスタック
WaylandクライアントはEGLを使用してフレームバッファに直接描画します。ディスプレイサーバーはカーネルここではLinuxカーネル)とクライアントの間に位置し、指定されたプロトコルを介してクライアントと通信します。
Wayland ディスプレイサーバープロトコル
Wayland(ディスプレイサーバープロトコル)のフリー実装は、EGLMesa実装に依存しています。フレームバッファへのアクセスを可能にするために、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 ]

実装

参照

参考文献

  1. ^ 「プレスリリース、クロノスがEGL 1.5仕様を発表」クロノス・グループ、2014年3月19日。 2014年3月20日閲覧
  2. ^ 「EGLの概要、ネイティブプラットフォームインターフェース」クロノスグループ。2011年7月19日。
  3. ^ Jon Leech (編). 「Khronos Native Platform Graphics Interface (EGL バージョン 1.2) (2005 年 7 月 28 日)」(PDF) .
  4. ^ Jon Leech (編). 「OpenGL® ES ネイティブ プラットフォーム グラフィックス インターフェース (バージョン 1.0)」(PDF) .
  5. ^ 「用語集」 . X.Org Foundation .
  6. ^ 「開発者ガイド」 。 2013年10月10日時点のオリジナルよりアーカイブ2014年5月28日閲覧。
  7. ^ 「Android 2.3 Gingerbread、新機能」。Android Developers
  8. ^ Pekka Paalanen (2012年3月10日). 「WaylandスタックにおけるEGLの機能」 .
  9. ^ 「EGL — Mesa 3D グラフィックス ライブラリの最新ドキュメント」。Mesa 3D ドキュメント
  10. ^ “MirSpec” . 2013年3月6日時点のオリジナルよりアーカイブ2013年3月7日閲覧。
  11. ^ 「Raspberry Pi VideoCore API - eLinux.org」 . elinux.org .
  12. ^ 「32ビットプラットフォームでのEGL APIのサポートを追加しました。現在サポートされているクライアントAPIはOpenGL ES 1.1、2.0、3.0で、サポートされているウィンドウシステムバックエンドはX11のみです。」 2013年10月4日 。 2013年10月5日閲覧
  13. ^ 「移植ガイド/グラフィックスとUI - Tizen Wiki」2015年4月27日時点のオリジナルよりアーカイブ2015年3月6日閲覧。