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上引入的版本兼容性功能、特色
学习的版本
选2.0的版本,因为即使用户的手机是Android 4.3以上的版本,设备制造商也不一定实现了3.0API的接口。下图是官方统计的OpenGL版本支持情况。
官方统计的OpenGL版本支持情况
版本支持声明
在AndroidManifest.xml中加入下面这行使用特性的声明后,Google Play将会过滤掉不支持OpenGL ES 2.0版本的用户,拒绝他们安装。
<uses-featureandroid:glEsVersion="0x00020000"android:required="true"/>
不同版本对应的值
版本glEsVersion值
开发方式
通过Android实现的Java接口调用OpenGL
C语言编写OpenGL代码,再通过JNI调用(跨平台开发时可以考虑)