OpenGL ES 和 GLSurfaceView 概述

最近在拜看林学森先生的《深入理解 Android 内核设计思想》,特作此笔记。

OpenGL ES,ES 是 Embedded System 的缩写。其包括如下几个方面:

  • OpenGL ES,协议规范,而非软件库;
  • EGL,Embedded-System Graphics Library,an interface between rendering APIs(OpenGL ES) and the underlying native platform windowing system.
  • Mesa 3d,兼容 OpenGL 协议的 3D 图像处理软件库;

EGL 的作用:

EGL handles graphics context management, surface/buffer binding, rendering synchronization, and enables “high-performance, accelerated, mixed-mode 2D and 3D rendering using other Khronos APIs.

上层应用通过两种方法使用 OpenGL Es:

  • SDK 提供的 EGL,GLES java 类;
  • GLSurfaceView

GLSurfaceView 既具备 View 类的能力(特别是接收事件的能力),又拥有 OpenGL ES 提供的强大的 3D 图像处理能力,为编写高质量 UI 界面和游戏特效奠定了基础。

GLSurfaceView 的特性:

  • 管理 EGLDisplay,它表示一个显示屏;
  • 管理 Surface,本质上是一个内存块;
  • GLSurfaceView 会创建新的线程,以使整个渲染过程不阻塞 UI 主线程;
  • 用户可以自定义渲染方式,如通过 setRenderer() 设置;

当前很多安卓游戏都是直接或间接通过 GLSurfaceView 完成的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值