OpenGL ES Shader相关API 总结【0】——获取绘制信息

简介: OpenGL ES Shader相关API 总结【0】——获取绘制信息

获取绘制信息

======================

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

输出:创建的rendering context的handle


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相关资源成功或者失败



目录
相关文章
|
6月前
|
Java API
java 操作es api
java 操作es api
77 0
|
15天前
|
数据可视化 API 索引
ES常见Index API操作最佳实践!
【10月更文挑战第21天】
45 1
ES常见Index API操作最佳实践!
|
6月前
|
XML 小程序 Java
【Android App】三维投影OpenGL ES的讲解及着色器实现(附源码和演示 超详细)
【Android App】三维投影OpenGL ES的讲解及着色器实现(附源码和演示 超详细)
124 0
|
存储 编解码 算法
Opengl ES之LUT滤镜(上)
Opengl ES之连载系列
453 0
|
数据安全/隐私保护 开发者
OpenGL ES 多目标渲染(MRT)
Opengl ES连载系列
318 0
|
数据安全/隐私保护 索引
Opengl ES之纹理数组
Opengl ES连载系列
257 0
|
数据安全/隐私保护
Opengl ES之水印贴图
Opengl ES之连载系列
147 0
|
Java 数据安全/隐私保护 Android开发
Opengl ES之矩阵变换(下)
Opengl ES连载系列
129 0
|
Java API 数据安全/隐私保护
Opengl ES之矩阵变换(上)
Opengl ES连载系列
148 0
|
缓存 C++
Opengl ES之FBO
Opengl ES连载系列
150 0