Android图形---OpenGL(一)
来源:互联网 发布:java web 案例 编辑:程序博客网 时间:2024/06/06 03:15
原文地址:http://www.cnblogs.com/android100/archive/2012/06/26/Android-OpenGL-1.html
本文译自: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容器中的改变。
- Android图形---OpenGL(一)
- Android图形---OpenGL(一)
- OpenGL图形编程(一)
- Android图形---OpenGL(二)
- Android图形---OpenGL(三)
- Android图形---OpenGL(四)
- Android图形---OpenGL(五)
- Android图形---OpenGL(六)
- OpenGL基础图形编程(一)
- OpenGL 图形编程(一)
- Android图形---OpenGL
- OpenGL基础图形编程(一)OpenGL与3D图形世界
- OpenGL绘制图形以及绘制动画(一)
- Android 图形 II-OpenGL ES
- Android OpenGL 学习(一)
- android opengl 原理及开发(2)绘制基本图形
- Android 图形用户界面 之 绘图(一)
- Android的图形API调用(一)
- MySQL增加新用户账户
- vim快捷键
- HDFS Federation
- iOS的 TableView 的简单用法1 - 实现数据源
- 11 Maya模型基础--圆化工具
- Android图形---OpenGL(一)
- MXML 语法
- 利用ViewHolder优化自定义Adapter的典型写法
- live555 server 数据流发送流程和时间戳的分析
- 源码编译安装 MySQL 5.5.x 主从复制
- Sizers布局组件1
- 利用LruCache加载网络图片实现图片瀑布流效果(基础版)
- 即时通讯软件openfire+spark+smack
- 自己动手写CPU之第六阶段(3)——移动操作指令的实现