1、什么是 OpenGL ES?
2、它能做什么?
3、android平台支持情况
4、GLSurfaceView、Renderer
1、什么是OpenGL ES
OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。
【总之它是一个图形图像处理】
2、它能做什么?
OpenGL ES是一个开放的图形库的,通过OpenGL ES API来支持高性能的2D和3D图形。OpenGL是一个跨平台的图形API。为3D图形处理硬件指定了一个标准的软件接口。OpenGL ES 是适用于嵌入式设备的OpenGL规范。它的应用很广泛,都是涉及的图形图像的处理,比如PS软件、美颜相机、抠图P图软件、游戏引擎等。
【总之它能做的事情都与图形图像处理有关】
3、android平台支持情况
OpenGL ES 1.0 和 1.1 能够被Android 1.0及以上版本支持
OpenGL ES 2.0 能够被Android 2.2及更高版本支持
OpenGL ES 3.0 能够被Android 4.3及更高版本支持
OpenGL ES 3.1 能够被Android 5.0及以上版本支持
【OpenGL ES 2.0使用的比较普遍】
4、GLSurfaceView、Renderer
android平台提供了一个核心类:GLSurfaceView以及一个它的一个内部接口Renderer。顾名思义GLSurfaceView,肯定是用于图像的呈现的载体,类似于View。而Renderer能有三个方法。具体的绘画逻辑由Randerer负责。
public interface Renderer {
void onSurfaceCreated(GL10 gl, EGLConfig config);
void onSurfaceChanged(GL10 gl, int width, int height);
void onDrawFrame(GL10 gl);
}
GLSurfaceView 提供了一个setRenderer方法,与负责具体绘制流程的Renderer 关联。后续将以具体绘制简单图形为例,对如何使用Renderer 有一个大致的了解。
网友评论