EGL (API)

Origem: Wikipédia, a enciclopédia livre.
EGL (OpenGL)
Logótipo
EGL (API)
Autor Khronos Group
Desenvolvedor Khronos Group
Plataforma Multiplataforma
Versão estável 1.5[1] (19 de março de 2014; há 10 anos)
Escrito em C
Sistema operacional Multiplataforma
Gênero(s) API
Página oficial www.khronos.org/egl/

EGL é uma interface entre as APIs de renderização do Khronos (como OpenGL, OpenGL ES ou OpenVG) e o sistema de janelas da plataforma nativa subjacente. O EGL lida com gerenciamento de contexto gráfico, vinculação de superfície/buffer, sincronização de renderização e permite "renderização 2D e 3D de modo misto, acelerado e de alto desempenho usando outras APIs do Khronos."[2] O EGL é gerenciado pelo consórcio de tecnologia sem fins lucrativos Khronos Group.

O acrônimo EGL é uma sigla, que a partir do EGL versão 1.2 refere-se a Khronos Native Platform Graphics Interface.[3] Antes da versão 1.2, o nome da especificação EGL era OpenGL ES Native Platform Graphics Interface.[4] O glossário da documentação de desenvolvimento do X.Org define EGL como "Embedded-System Graphics Library".[5]

Adoção[editar | editar código-fonte]

Como uma interface entre o OpenGL ES ou OpenVG e o sistema de janelas subjacente, o EGL encontrou ampla adoção
The Linux graphic stack
Os clientes Wayland usam EGL para desenhar diretamente no framebuffer. O servidor de exibição fica entre o núcleo (aqui: núcleo Linux) e seus clientes. Ele se comunica com seus clientes por meio de um determinado protocolo.
Wayland display server protocol
As implementações livres do Wayland dependem da implementação do EGL no Mesa. Uma biblioteca especial chamada libwayland-EGL foi escrita para acomodar o acesso ao framebuffer
  • O sistema operacional de dispositivo móvel BlackBerry 10 e BlackBerry Tablet OS usa o EGL para renderização de gráficos 3D. Ambos suportam o EGL versão 1.4.[6]
  • O sistema operacional de dispositivo móvel Android usa o EGL para renderização de gráficos 3D.[7]
  • O protocolo do servidor de exibição Wayland usa o EGL.[8] Ele é implementado de uma forma que os clientes Wayland desenharão diretamente para o framebuffer usando o EGL.
  • O Mesa 3D tem uma implementação de EGL anteriormente conhecida como Eagle.[9]
  • O protocolo do servidor de exibição Mir da Canonical Ltd. usa o EGL.[10]
  • O kit de ferramentas Simple DirectMedia Layer foi portado para usar o EGL. Ele pode usar o Xlib, gravar diretamente no framebuffer ou usar o EGL.
  • O computador de placa única Raspberry Pi tem uma interface EGL para renderização de gráficos 3D acelerado por hardware.[11]
  • O driver proprietário Nvidia 331.13 BETA de 4 de outubro de 2013 suporta a API EGL.[12]
  • Tizen OS usa o EGL com OpenGL ES 1.1 ou OpenGL ES 2.0 para renderização de gráficos 3D[13]

Implementações[editar | editar código-fonte]

  • Mesa é uma implementação de software livre e de código aberto de muitas APIs de renderização gráfica; entre eles está o EGL.
  • Generic Buffer Management é uma API para gerenciar buffers.

Ver também[editar | editar código-fonte]

  • WGL - a interface do Windows equivalente para o OpenGL
  • CGL - a interface do OS X equivalente para o OpenGL
  • GLX - a interface do X11 equivalente para o OpenGL
    • AIGLX - uma tentativa de acelerar o GLX
  • WSI - o Vulkan Window System Interface (WSI) faz para Vulkan o que EGL faz para OpenGL ES.

Referências

Ligações externas[editar | editar código-fonte]