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
分享到:
相关推荐
Android OpenGL ES 简明开发真正的3D图 Android平台提供的OpenGL ES API主要定义在包android.opengl ,javax.microedition.khronos.egl ,javax.microedition.khronos.opengles ,java.nio 等几个包中
EGL是OpenGL ES与本地Window系统之间的桥梁。EGL创建渲染上下文(Rendering Context)和Surface,Rendering Context是OpenGL ES的状态机,Surface是OpenGL ES绘图的“画布”……
本资源实现了将彩色...案例使用 EGL 代替 GLSurfaceView 生成 OpenGL ES 的渲染环境,并结合FBO实现离屏渲染,将渲染后的图片显示在 ImageView 上。博客见:https://zhyan8.blog.csdn.net/article/details/123887797
基于EGL/GBM/DRM的opengles开发示例,可以作为学习的起点; GBM/DRM显示可应用在没有xserver的环境,嵌入式开发可能会用到
1、OpenGLES3中加载GL_TEXTURE_2D纹理,生成纹理ID; 2、通过EGL构建EGLDisplay虚拟屏幕,并绑定ImageReader提供的Surface; 3、在EGL线程中,渲染GL_TEXTURE_2D对应的纹理图形; 4、在EGL线程中,完成渲染后,通过...
Android Native层使用opengl es渲染yuv420,通过egl绑定android的surface,直接在native层进行渲染 具体使用见http://blog.csdn.net/lidec/article/details/73732369#comments
1.基于WinCE的OpenGL ES教程 2.基本 - 1:初始化EGL 3.深入 - 1:压缩纹理 4.提高-2:材质纹理 5.Maya教程 :用MEL导出3D模型 6.基本-2:初始化GLES--源码
OpenGLES2.0在windows平台的实现接口是OpenGLES的,真正的实现是d3d Windows平台最后调用的是d3d: XP:d3dcompiler_43.dll win7:d3dcompiler_46.dll / d3dcompiler_47.dll版本1.0 EGL version 1.0, approved on ...
将Camera数据显示到OpenGL ES渲染的图像中,并通过MediaCodeC 将 OpenGL ES 缓冲数据,硬编码写入到 mp4 视频文件中,完成视频的录制。 文件介绍请见: https://xiaxl.blog.csdn.net/article/details/72530314 ...
Android下使用OpenGL渲染yuv420p图像并显示。例子中提供了两种类型,一种使用GLSurfaceView在onDrawframe中调用native方法绘制,另外一种使用EGL,直接在native层完成渲染和显示功能。
Android使用FFmpeg来解码视频,Opengles显示YUV数据的demo
All code has been built and tested on iOS 7, Android 4.3, Windows (OpenGL ES 3.0 Emulation), and Ubuntu Linux, and the authors demonstrate how to build OpenGL ES code for each platform. Coverage ...
OpenGL ES includes profiles for floating-point and fixed-point systems and the EGL™ specification for portably binding to native windowing systems. OpenGL ES 1.X is for fixed function hardware and ...
自己做过精简,适合做动画,视频播放,纹理加载方式可以根据自己的需求改动。
android中在native层调用egl和opengl一个小例子
OpenGL ES2.0开发库和OpenGL ES3.0开发库有差别,保留对OpenGL ES2.0开发库的使用 用RAR5.4解压
android ui 与 opengl egl 很系统的文档
详细讲解OpenGL ES 3.0中的应用程序接口(API)和图形管线,既涵盖简单图形的渲染方法,又深入介绍逐像素照明和粒子系统等高级渲染技术,并且包含大量有效使用API和硬件的实用技巧,为手持设备的各种高性能3D应用...
Android OpenGL简单例子源代码介绍:Android OpenGL的一个简单的例子。
GLSurfaceViewEGL14 -使用EGL14而不是EGL10的GLSurfaceView。 -还允许通过GLSurfaceViewEGl14类中的setRecordable()方法设置EGL_RECORDABLE_ANDROID标志。