美文网首页
Android:egl例子

Android:egl例子

作者: 我在等你回复可你没回 | 来源:发表于2018-05-17 14:49 被阅读105次

egl的最基本流程代码,记录一下。

void egl_demo() 
{  
  EGLDisplay display = eglGetDisplay (EGL_DEFAULT_DISPLAY); //获取显示器
   eglInitialize(display , 0, 0);                  //初始化显示器

  EGLConfig config;
   eglChooseConfig(display , attribs, & config, 1, &numConfigs );  //初始化配置

  EGLSurface surface = eglCreateWindowSurface(display, config, ANativeWindow , NULL);  //创建surface
  EGLContext  context = eglCreateContext (display, config, NULL , NULL);//创建场景
  eglMakeCurrent (display, surface, surface , context);//绑定线程

  while(true){
    //opengl绘制
    glxx();
    
    eglSwapBuffers(display , surface );
  }

 eglDestroyContext( display , context );//销毁surface
  eglDestroySurface(display , surface );//销毁场景
  eglTerminate(display );
}

因为这个点比较大后续会更新:

基本概念:

一.离屏(offscreen)渲染

OpenGL中,GPU屏幕渲染有两种方式:

(1)On-Screen Rendering (当前屏幕渲染)

指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区进行。

(2)Off-Screen Rendering (离屏渲染)

指的是在GPU在当前屏幕缓冲区以外开辟一个缓冲区进行渲染操作。

当前屏幕渲染不需要额外创建新的缓存,也不需要开启新的上下文,相对于离屏渲染性能更好。但是受当前屏幕渲染的局限因素限制(只有自身上下文、屏幕缓存有限等),当前屏幕渲染有些情况下的渲染解决不了的,就使用到离屏渲染。

相关文章

  • Android:egl例子

    egl的最基本流程代码,记录一下。 因为这个点比较大后续会更新: 基本概念: 一.离屏(offscreen)渲染 ...

  • Android EGL环境的搭建

    Android EGL环境的搭建 1.概述 1.1 EGL是什么? 想要了解EGL是什么,我觉得我们首先就必须要了...

  • Android GUI系统-SurfaceFlinger基础

    一、OpenGL ES与EGL Android的GUI系统是基于OpenGL/EGL来实现的。 由于OpenGL是...

  • Android中的OpenGL ES使用基础

    一、OpenGL/EGL 因为Android的GUI系统是基于OpenGL/EGL实现的,所以先介绍相关基础知识。...

  • GUI:egl

    《android内核设计框架》读书笔记 1.EGL 和 OpenGL ES EGL是图形渲染API(如OpenGL...

  • Android EGL

    部分内容摘自其他博客,请见最下[参考资料] 首先来看看Android官方对EGL的解释: OpenGL ES 定义...

  • EGL 初始化流程

    Android 平台上,在调用OpenGL ES API 之前,需要在初始化EGL 。之后 OpenGL ES 调...

  • Android配置EGL环境

    EGL 是OpenGL ES和本地窗口系统的接口,不同平台上EGL配置是不一样的,而OpenGL的调用方式是一致的...

  • Android配置EGL环境

    OpenGL ES 定义了一个渲染图形的 API,但没有定义窗口系统。为了让 GLES 能够适合各种平台,GLES...

  • EGL

    EGL 什么是 EGL? EGL 是 OpenGL ES 渲染 API 和本地窗口系统(native platfo...

网友评论

      本文标题:Android:egl例子

      本文链接:https://www.haomeiwen.com/subject/uspbdftx.html