准备
一款支持Android开发的IDE;
一款运行Android4.0之上Android手机,并且GPU支持OpenGL ES2.0 ;
对OpenGL的基本知识了解;
步骤
设置OpenGL ES环境
为了显示OpenGL的图形,需要使用GLSurfaceView类,就像其他任何的View子类意义,可以将它添加到Activity或Fragment之上,通过在布局xml文件中定义或者在代码中创建实例,Activity中的onCreate方法如下:
因为媒体效果的框架仅仅支持OpenGL ES2.0及以上的版本,所以在setEGLContextClientVersion 方法中传入2;
了确保GLSurfaceView仅仅在必要的时候进行渲染,在setRenderMode 方法中进行设置:
创建Renderer
创建类实现接口GLSurfaceView.Renderer,将这个类命名为EffectsRenderer,添加构造函数并覆写接口中的抽象方法,如下:
回到Activity中调用setRenderer方法,让GLSurfaceView使用我们创建的Renderer:
编写Manifest文件
在AndroidManifest.xml文件中添加如下语句:
创建一个OpenGL平面
创建一个2D平面,并且具有4个顶点。
默认的OpenGL系统的坐标系中的原点是在中心,因此4个角的坐标可以表示为:
创建一个float数组来代表这些顶点,在square上定位纹理,需要确定纹理的顶点坐标,创建另一个数组来表示纹理顶点的坐标:
这些坐标数组应该被转变为缓冲字符(byte buffer)在OpenGL可以使用之前,所以需要定义: