本文译自:http://developer.android.com/guide/topics/graphics/opengl.html

Android系统包含了OpenGL(Open Graphics Library),从而给2D和3D图形提供了高性能的支持,尤其是OpenGL ES API。OpenGL是一个跨平台图形API,它给3D图形处理指定了一个标准的软件接口。OpenGL ES是一种用于嵌入式设备的OpenGL规范。从Android1.0开始,就提供了对OpenGL ES1.0和1.1API规范的支持。从Android2.2(API Level 8)开始,框架开始支持OpenGL ES2.0 API规范。

注意:由Android框架所指定的API有点类似J2ME的JSR239 OpenGL ES API,但是它们还是有区别的,如果你熟悉J2ME的JSR239规范,就要小心其中的变化。

基础

Android通过它框架API和NDK(Native Development Kit)来支持OpenGL。本文主要关注Android框架接口,关于NDK的更多信息,请看Android NDK(http://developer.android.com/sdk/ndk/index.html

在Android框架中有两个OpenGL ES API类库用来创建和维护图形:GLsurfaceView和GLSurfaceView.Renderer。如果是要在应用程序中使用OpenGL,那么了解在一个Activity如何实现这些类应该是第一目标。

GLSurfaceView

这个类是一个View,在这个类中能够绘制和维护使用OpenGL API调用的对象,并且它跟SurfaceView类的功能类似。通过创建GLSurfaceView类的一个实例,并给它添加一个Renderer对象来使用这个类。但是,如果想要捕获触屏事件,那么就应该继承GLSurfaceView类并实现它的触屏监听器。示例程序TouchRotateActivity(http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/TouchRotateActivity.html)。

GLSurfaceView.Renderer

这个接口定义了在一个OpenGL的GLSurfaceView类中绘制图形所必须的方法。必须提供一个单独的类来实现这个接口,并且使用GLSurfaceView.setRenderer()方法把它绑定到GLSurefaceView类的实例上。

以下是必须实现的GLSurfaceView.Renderer接口方法:

1.onSurfaceCreated()

在创建GLSurfaceView对象时,系统会调用一次这个方法。使用这个方法来执行那些只需要发生一次的动作,如设置OpenGL环境参数或初始化OpenGL图形对象。

2.onDrawFrame()

每次重绘GLSurefaceView对象时,系统都会调用该方法。使用这个方法作为绘制图形(包括图形重绘)对象的初始执行点。

3.onSurefaceChanged()

当GLSurfaceView对象的几何图形发生改变时(包括尺寸或设备屏幕方向的改变等),系统会调用这个方法。例如,当设备从纵向改到横向时,系统就会调用这个方法。使用这个方法来响应GLSurfaceView容器中的改变。

更多相关文章

  1. Android(安卓)中的单元测试
  2. android软键盘状态监听最稳的方法,属性动画手动调整布局,再也不怕
  3. Android中的SrollView滚动详解
  4. Android(安卓)完全退出应用方法
  5. Android——Fragment A点击一个按钮跳转到 FragmentB
  6. Android中onActivityResult方法总结
  7. android Support Annotations(注解支持)
  8. Android(安卓)文件存储知识点总结
  9. 异步加载注意的事项

随机推荐

  1. Android 自定义view的写法
  2. 只有安卓才会跳
  3. 超酷的 gankIO 客户端
  4. android 红外
  5. [置顶] android 瀑布流
  6. Android SDCard操作
  7. android 通过HttpPost 调用.Net Wcf
  8. Android(安卓)Service详解(一)---概述
  9. android圆角dialog,并限制宽度和高度
  10. ANDROID GRIDVIEW 点击某个位置获取某个