什么是 EGL?
EGL 是 OpenGL ES 渲染 API 和本地窗口系统(native platform window system)之间的一个中间接口层,它主要由系统制造商实现。EGL提供如下机制:
- 与设备的原生窗口系统通信
- 查询绘图表面的可用类型和配置
- 创建绘图表面
- 在OpenGL ES 和其他图形渲染API之间同步渲染
- 管理纹理贴图等渲染资源
为了让OpenGL ES能够绘制在当前设备上,我们需要EGL作为OpenGL ES与设备的桥梁。
1.2版本以前的规范名称为OpenGL ES Native Platform Graphics Interface,有些开发组织认定是Embedded-System Graphics Library,定义是类似库,而非语言
OpenGL ES:EGL接口解析与理解_egl native_window 参数详解-CSDN博客
一.EGL 介绍
通俗上讲,OpenGL是一个操作GPU的API,它通过驱动向GPU发送相关指令,控制图形渲染管线状态机的运行状态。但OpenGL需要本地视窗系统进行交互,这就需要一个中间控制层,最好与平台无关。
EGL——因此被独立的设计出来,它作为OpenGL ES和本地窗口的桥梁。
EGL 是 OpenGL ES(嵌入式)和底层 Native 平台视窗系统之间的接口。EGL API 是独立于OpenGL ES各版本标准的独立API ,其主要作用是为OpenGL指令创建 Context 、绘制目标Surface 、配置Framebuffer属性、Swap提交绘制结果等。此外,EGL为GPU厂商和OS窗口系统之间提供了一个标准配置接口。
一般来说,OpenGL ES 图形管线的状态被存储于 EGL 管理的一个Context中。而Frame Buffers 和其他绘制 Surfaces 通过 EGL API进行创建、管理和销毁。 EGL 同时也控制和提供了对设备显示和可能的设备渲染配置的访问。
EGL标准是C的,在Android系统Java层封装了相关API。
https://www.khronos.org/registry/EGL/sdk/docs/man/html/indexflat.php
https://www.cnblogs.com/lenomirei/p/11379535.html
EGL
EGL是由Khronos Group提供的一组平台无关的API,它的主要功能如下:
- 和本地窗口系统(native windowing system)通讯;<

文章详细解释了EGL作为OpenGLES与本地窗口系统间的桥梁,介绍了其在创建绘图表面、同步渲染、纹理管理等方面的作用,以及GBM与EGL的相似性和GBM在Mesa中的应用。还探讨了EGL与GBM在Linux图形渲染堆栈中的地位和关系。

572

被折叠的 条评论
为什么被折叠?



