Android OpenGL ES 0.简介

本文介绍了OpenGL和OpenGL ES,OpenGL是跨平台图形软件接口,OpenGL ES是其针对嵌入式设备的分支。阐述了其应用场景,如游戏、视频处理等。还说明了Android对其支持情况,推荐学习2.0版本,介绍了开发方式及相关参考资料、代码工程和课程目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenGL是什么

OpenGL是一个跨平台的软件接口语言,用于调用硬件的2D、3D图形处理器。

由于是只软件接口,所以具体底层实现依赖硬件设备制造商。

Android includes support for high performance 2D and 3D graphics with the Open Graphics Library (OpenGL®), specifically, the OpenGL ES API. OpenGL is a cross-platform graphics API that specifies a standard software interface for 3D graphics processing hardware. OpenGL ES is a flavor of the OpenGL specification intended for embedded devices.

OpenGL ES是什么

OpenGL ES是OpenGL的分支,针对嵌入式设备设计,裁剪了OpenGL部分不必要的功能。本系列博客之后若没特定说明时,则OpenGL代指OpenGL ES。

应用场景

  • 游戏
  • 视频播放器、编辑应用
  • 相机、图片处理应用
  • 对图像处理及时性要求比较高的应用

Android对OpenGL的支持

OpenGL ES版本基于的OpenGL版本Android上引入的版本兼容性功能、特色
1.0 & 1.11.3 & 1.5Android 1.0固定的图像管道,开发难度相比2.0低
2.02.0Android 2.2 (API level 8)不兼容1.x可编程的渲染管道,性能效率更高,开发难度更高
3.03.xAndroid 4.3 (API level 18)兼容2.0性能更高,支持ETC2格式的透明纹理压缩
3.14.xAndroid 5.0 (API level 21)兼容2.0/3.0新增计算着色器、单独的着色器对象等新特性,更多查看Android5.0特性

学习的版本

选2.0的版本,因为即使用户的手机是Android 4.3以上的版本,设备制造商也不一定实现了3.0API的接口。下图是官方统计的OpenGL版本支持情况。


官方统计的OpenGL版本支持情况

详情见最新版本数据

版本支持声明

在AndroidManifest.xml中加入下面这行使用特性的声明后,Google Play将会过滤掉不支持OpenGL ES 2.0版本的用户,拒绝他们安装。

<uses-feature android:glEsVersion="0x00020000" android:required="true" />

不同版本对应的值

版本glEsVersion值
2.00x00020000
3.00x00030000
3.10x00030001

开发方式

  • 通过Android实现的Java接口调用OpenGL
  • C语言编写OpenGL代码,再通过JNI调用(跨平台开发时可以考虑)

参考

Android OpenGL ES学习资料所列举的博客、资料。

GitHub代码工程

本系列课程所有相关代码请参考我的GitHub项目GLStudio

课程目录

本系列课程目录详见 简书 - Android OpenGL ES教程规划

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值