java使用egl_EGL 作用及其使用

大家好,接下来将为大家介绍EGL 作用及其使用。

1、什么是EGL

EGL 是 OpenGL ES 渲染 API 和本地窗口系统(native platform window system)之间的一个中间接口层,EGL作为OpenGL ES与显示设备的桥梁,让OpenGL ES绘制的内容能够在呈现当前设备上。它主要由系统制造商实现。

EGL具有如下作用:

a:与设备的原生窗口系统通信。

b:查询绘图表面的可用类型和配置。

c:创建绘图表面。

d:在OpenGL ES 和其他图形渲染API之间同步渲染。

e:管理纹理贴图等渲染资源。

2、EGL和OpenGL ES的关系

从上面的讲解我们基本上可以知道,EGL为OpenGL提供绘制表面。或者说EGL是OpenGl ES的渲染画布。EGL作为OpenGL ES与显示设备的桥梁,让OpenGL ES绘制的内容能够在呈现当前设备上。

187281990_1_2020040411073573

3、EGL绘图的基本步骤

187281990_2_20200404110735323

简单讲解下各部分的作用:

a:Display(EGLDisplay) 是对实际显示设备的抽象。

b:Surface(EGLSurface)是对用来存储图像的内存区域FrameBuffer 的抽象,包括 Color Buffer, Stencil Buffer ,Depth Buffer。

c:Context (EGLContext) 存储 OpenGL ES绘图的一些状态信息。

4.1、EGL的基本使用步骤:

a:获取 EGL Display 对象:通过eglGetDisplay()方法来返回EGLDisplay作为OpenGL ES的渲染目标。

if ( (mEGLDisplay = EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY)) == EGL14.EGL_NO_DISPLAY) {

throw new RuntimeException("unable to get EGL14 display"); }

b:初始化与 EGLDisplay 之间的连接:eglInitialize()。第一参数代表Major版本,第二个代表Minor版本。如果不关心版本号,传0或者null就可以了。

if (!EGL14.eglInitialize(mEGLDisplay, 0, 0)) {

throw new RuntimeException("unable to initialize EGL14"); }

c:获取 EGLConfig 对象:eglChooseConfig()。

int[] attribList = {

EGL14.EGL_RED_SIZE, 8,

EGL14.EGL_GREE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值