Android OpenGL ES 开发教程(5):关于EGL
2012-05-14 08:32
441 查看
OpenGL ES的javax.microedition.khronos.opengles 包定义了平台无关的GL绘图指令,EGL(javax.microedition.khronos.egl )
则定义了控制displays ,contexts 以及surfaces 的统一的平台接口。
Display(EGLDisplay) 是对实际显示设备的抽象。
Surface(EGLSurface)是对用来存储图像的内存区域FrameBuffer的抽象,包括Color Buffer, Stencil Buffer ,Depth Buffer.
Context (EGLContext) 存储OpenGL ES绘图的一些状态信息。
使用EGL的绘图的一般步骤:
获取EGLDisplay对象
初始化与EGLDisplay 之间的连接。
获取EGLConfig对象
创建EGLContext 实例
创建EGLSurface实例
连接EGLContext和EGLSurface.
使用GL指令绘制图形
断开并释放与EGLSurface关联的EGLContext对象
删除EGLSurface对象
删除EGLContext对象
终止与EGLDisplay之间的连接。
一般来说在Android平台上开发OpenGL ES应用,无需直接使用javax.microedition.khronos.egl 包中的类按照上述步骤来使用OpenGL ES绘制图形,在Android平台中提供了一个android.opengl 包,类GLSurfaceView提供了对Display,Surface,Context 的管理,大大简化了OpenGL ES的程序框架,对应大部分OpenGL ES开发,只需调用一个方法来设置OpenGLView用到的GLSurfaceView.Renderer。可以参见
Android OpenGL ES 简明开发教程二:构造OpenGL ES View
则定义了控制displays ,contexts 以及surfaces 的统一的平台接口。
Display(EGLDisplay) 是对实际显示设备的抽象。
Surface(EGLSurface)是对用来存储图像的内存区域FrameBuffer的抽象,包括Color Buffer, Stencil Buffer ,Depth Buffer.
Context (EGLContext) 存储OpenGL ES绘图的一些状态信息。
使用EGL的绘图的一般步骤:
获取EGLDisplay对象
初始化与EGLDisplay 之间的连接。
获取EGLConfig对象
创建EGLContext 实例
创建EGLSurface实例
连接EGLContext和EGLSurface.
使用GL指令绘制图形
断开并释放与EGLSurface关联的EGLContext对象
删除EGLSurface对象
删除EGLContext对象
终止与EGLDisplay之间的连接。
一般来说在Android平台上开发OpenGL ES应用,无需直接使用javax.microedition.khronos.egl 包中的类按照上述步骤来使用OpenGL ES绘制图形,在Android平台中提供了一个android.opengl 包,类GLSurfaceView提供了对Display,Surface,Context 的管理,大大简化了OpenGL ES的程序框架,对应大部分OpenGL ES开发,只需调用一个方法来设置OpenGLView用到的GLSurfaceView.Renderer。可以参见
Android OpenGL ES 简明开发教程二:构造OpenGL ES View
相关文章推荐
- Android OpenGL ES 开发教程(5):关于EGL
- Android OpenGL ES 开发教程(2):关于OpenGL ES
- Android OpenGL ES 开发教程(2):关于OpenGL ES
- [转]Android OpenGL ES 开发教程 从入门到精通
- Android OpenGL ES 开发教程(12):绘制一个20面体
- Android OpenGL ES 开发教程(19):绘制迷你太阳系
- 10个关于Android开发的实用教程
- Android OpenGL ES 简明开发教程
- Android OpenGL ES 开发教程(17):投影变换Projection
- Android OpenGL ES 简明开发教程三:3D绘图基本概念
- Android OpenGL ES 开发教程(3):OpenGL ES管道(Pipeline)
- android开发教程关于使用java concurrent处理并发需求
- Android OpenGL ES 简明开发教程 02 <构造OpenGL ES View>
- Android OpenGL ES 开发教程(20):颜色Color
- Android OpenGL ES 开发教程(23):FrameBuffer
- Android OpenGL ES 开发教程(27):材质及光照示例
- Android OpenGL ES 开发教程(10):绘制线段Line Segment
- Android OpenGL ES 简明开发教程一:概述
- Android OpenGL ES 开发教程(24):Depth Buffer
- Android OpenGL ES 开发教程(20):颜色Color