OpenGL EGL结构简介
-
EGL,它是图形渲染API(如OpenGL ES)与本地平台窗口系统的一层接口,保证了OpenGL ES的平台无关性。EGL(The Khronos Platform Graphics Interface)提供了一种方法用于通过客户端API和本地窗口系统进行渲染,客户端API包括用于嵌入式系统的3D渲染器OpenGL ES、用于桌面系统的OpenGL(OpenGL ES的超集)、2D矢量图形渲染器OpenVG。本地窗口系统包括Windows、X。EGL 是 OpenGL 的一部分,是OpenGL接口与图形后端间的中间层,为OpenGL屏蔽了图形后端的具体类型。
-
EGL是一套API接口(35个)
-
OpenGL ES 是一个平台无关的图形库,在它能够工作之前,需要与一个实际的窗口系统关联起来,这与 OpenGL是一样的,不一样的是,这部分工作是有标准的,这个标准就是EGL。在 OpenGL时代,在不同的平台上有不同的机制以关联窗口系统,在window上是wgl,在X-Window是xgl,在Apple OS 上是agl等。而EGL的工作方式和部分属于都接近于xgl, OpenGL ES 的初始化过程如下:
Display --> Config --> Surface --> Context <-- OpenGL Command <-- APP
-
OpenGL ES 本质上是一个图形渲染管线的状态机,而EGL则是用于监控这些状态以及维护 FrameBuffer 和其他渲染 surface 的外部层。OpenGL ES 图形管线的状态被存储于E