android studio | openGL es 3.0增强现实(AR)开发 GLSurfaceView浅解

Posted -dragon-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android studio | openGL es 3.0增强现实(AR)开发 GLSurfaceView浅解相关的知识,希望对你有一定的参考价值。

1.什么是EGL?

EGL 是 OpenGL ES(嵌入式)和底层 Native 平台视窗系统之间的接口。EGL API 是独立于OpenGL ES各版本标准的独立API ,其主要作用是为OpenGL指令创建 Context 、绘制目标Surface 、配置Framebuffer属性、Swap提交绘制结果等。此外,EGL为GPU厂商和OS窗口系统之间提供了一个标准配置接口,下面是一个EGL布局图。



2.什么是surface?如何理解

Handle onto a raw buffer that is being managed by the screen compositor。surface对应了一块屏幕缓冲区,每个窗口对应一个surface,而每个Activity都会持有一个窗口,所以,我们通常在Activity里设置的view(通过setContentView),从java抽象上看其最终的绘制目标就是在Surface上。

3.什么是GLSurfaceView?

GLSurfaceView是一个视图类,继承至SurfaceView,它内嵌的surface专门负责OpenGL渲染,是OpenGL ES 与 View系统之间建立的桥梁。SurfaceView和View最本质的区别在于,surfaceView是在一个新起的单独线程中可以重新绘制画面而View必须在UI的主线程中更新画面。

4.一般的GLSurfaceView的使用步骤

初始化GLSurfaceView –> 定制android.View.surface –>选择EGL配置 –> 调式行为 –> 设置渲染器 –>选择渲染器。

5.surfaceView 和 GLSurfaceView分别是2D和3D的图形的画布。

6.什么是渲染管线?

渲染管线也称渲染流水线,一般由GPU内部的处理图形信号的并行处理单元组成。渲染管线就是指一系列的绘制过程,这些过程输入的是待渲染的3D物体的相关描述信息,经过这个渲染管线输出的就是一帧想要的图像。

以上是关于android studio | openGL es 3.0增强现实(AR)开发 GLSurfaceView浅解的主要内容,如果未能解决你的问题,请参考以下文章

Android studio Sceneform (1.15.0) 应用 OpenGL版本限制(emulator)

如何使用 openGL 在 android studio 中渲染 .dae(collada) 文件

android studio | openGL es 3.0增强现实(AR)开发 GLSurfaceView浅解

Android Studio启动时报错 Emulator: emulator: ERROR: OpenGLES emulation failed to initialize.

Android Studio 标准列表视图:E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1

错误 ANDROID STUDIO E/RecyclerView:未连接适配器;跳过布局