如何使用Android中的OpenGL ES媒体效果

 我来答
广州启汇营销策划有限公司
2017-06-09 · 专业app开发、互联网营销策划
广州启汇营销策划有限公司
广州启汇营销策划有限公司是国内领先的移动互联网技术解决方案服务商。拥有子品牌:启汇网络和启汇营销。提供APP、移动商城、Web等开发服务。专注品牌建设、全媒介投放、内容运营、活动策划等市场服务。
向TA提问
展开全部
  • 准备

  1. 一款支持Android开发的IDE;

  2. 一款运行Android4.0之上Android手机,并且GPU支持OpenGL ES2.0 ;

  3. 对OpenGL的基本知识了解;

  • 步骤

设置OpenGL ES环境

  1. 为了显示OpenGL的图形,需要使用GLSurfaceView类,就像其他任何的View子类意义,可以将它添加到Activity或Fragment之上,通过在布局xml文件中定义或者在代码中创建实例,Activity中的onCreate方法如下:

  2. 因为媒体效果的框架仅仅支持OpenGL ES2.0及以上的版本,所以在setEGLContextClientVersion 方法中传入2;

  3. 了确保GLSurfaceView仅仅在必要的时候进行渲染,在setRenderMode 方法中进行设置:

创建Renderer

  1. 创建类实现接口GLSurfaceView.Renderer,将这个类命名为EffectsRenderer,添加构造函数并覆写接口中的抽象方法,如下:

  2. 回到Activity中调用setRenderer方法,让GLSurfaceView使用我们创建的Renderer:

  3. 编写Manifest文件

    在AndroidManifest.xml文件中添加如下语句:

创建一个OpenGL平面

  1. 创建一个2D平面,并且具有4个顶点。

  2. 默认的OpenGL系统的坐标系中的原点是在中心,因此4个角的坐标可以表示为:

  3. 创建一个float数组来代表这些顶点,在square上定位纹理,需要确定纹理的顶点坐标,创建另一个数组来表示纹理顶点的坐标:

  4. 这些坐标数组应该被转变为缓冲字符(byte buffer)在OpenGL可以使用之前,所以需要定义:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式