获取绘制信息
======================
EGL的API作用分类:
用于与手机关联并获取手机支持的配置信息
用于根据需要生成手机支持的surface和context,并对surface和context进行关联
用于指定使用哪个版本的OpenGL ES,并与OpenGL ES建立关联
用于操作EGL上纹理,以及与多线程相关的高级功能
其他用处
常用API如下:
1.
EGLint eglGetError(void);
功能:用于返回当前thread,如果EGL的API出错的话,最近一个错误所对应的错误代码
输出:错误代码
2.
EGLDsiplay eglGetDisplay(EGLNativeDisplayType display_id);
功能:从EGL运行的操作系统中获取一个Display(获取手机屏幕)
输入:从操作系统中,得知的Display的ID
输出:用于显示图片绘制的Display
3.
EGLBoolean eglInitalize(EGLDisplay dpy, EGLint *major, EGLint *minor);
功能:针对某display初始化一个某版本的EGL
输入:使用Display的handle特指某个Display,major和minor共同用于指定EGL的版本
输出:EGL初始化成功或者失败
4.
EGLBoolean eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config)
功能:获取某display支持的配置信息
输入:display的handle,一个用于保存配置信息的指针,指针中存放的配置信息的数量,某display支持的配置信息数量
输出:配置信息获取成功或者失败
5.
EGLBoolean eglChooseConfig(EGLDisplay dpy, const EGLint * attrib_list, EGLConfig* configs, ELGint config_size, EGLint * num_config)
功能:获取与需求匹配,且某display支持的配置信息(根据开发者的需要,获取一种手机支持的buffer格式)
输入:display的handle,用于匹配使用的需求信息,一个用于保存匹配信息的指针,指针中存放的配置信息的数量,匹配配置信息的数量
输出:匹配的配置信息获取成功或者失败
6.
EGLSurface eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
功能:创建一个可以显示在屏幕上的rendering surface(根据获取的格式,创建handle,用于包含手机系统提供的绘制所需的buffer)
输入:display的handle,用于创建surface的配置信息,窗口信息的handle,额外的需求信息
输出:创建的rendering surface的handle
7.
EGLBoolean eglBindAPI(EGLenum api)
功能:设置当前thread的绘制API(用于指定使用的绘制语言:EGL_OPENGL_ES_API)
输入:支持的绘制API
输出:API设置成功或者失败
8.
EGLContext eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint* attrib_list)
功能:针对当前的绘制API创建一个rendering context(创建调色板,用于保存状态集)
输入:display的handle,用于创建context的配置信息,指定一个context使得创建的context与其share,额外的需求信息
输出:创建的rendering context的handle
9.
EGLBoolean eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx)
功能:将指定的context绑定到当前thread以及读和写的surface上(将创建的surface和context启动)
输入:display的handle,用于写入的surface,用于读取的surface,指定的context
10.
EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
功能:将surface中的color buffer显示到屏幕上(用于将绘制完毕的buffer与手机屏幕上显示的buffer进行交换)
输入:display的handle,将会被展示的surface
输出:显示成功或者失败
11.
EGLBoolean eglTerminate(EGLDisplay dpy)
功能:将某display对应的EGL相关的资源释放
输入:使用Display的handle特指某个display
输出:释放EGL相关资源成功或者失败