美文网首页
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例子

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