GLSurfaceView画图的架构
来源:互联网 发布:匡恩网络待遇 编辑:程序博客网 时间:2024/05/21 17:32
GLSurfaceView
Android平台提供的OpenGL ES API主要定义在包android.opengl ,javax.microedition.khronos.egl ,javax.microedition.khronos.opengles ,java.nio 等几个包中,其中类GLSurfaceView 为这些包中的核心类:
- 起到连接OpenGL ES与Android 的View层次结构之间的桥梁作用。
- 使得Open GL ES库适应于Anndroid系统的Activity生命周期。
- 使得选择合适的Frame buffer像素格式变得容易。
- 创建和管理单独绘图线程以达到平滑动画效果。
- 提供了方便使用的调试工具来跟踪OpenGL ES函数调用以帮助检查错误。
因此编写OpenGL ES应用的起始点是从类GLSurfaceView开始,设置GLSurfaceView只需调用一个方法来设置OpenGLView用到的GLSurfaceView.Renderer.
GLSurfaceView.Renderer
GLSurfaceView.Renderer定义了一个统一图形绘制的接口,它定义了如下三个接口函数:
* onSurfaceCreated : 在这个方法中主要用来设置一些绘制时不常变化的参数,比如:背景色,是否打开 z-buffer等。
* onDrawFrame: 定义实际的绘图操作。
* onSurfaceChanged: 如果设备支持屏幕横向和纵向切换,这个方法将发生在横向<->纵向互换时。此时可以重新设置绘制的纵横比率。
有了上面的基本定义,可以写出一个OpenGL ES应用的通用框架。
创建一个新的Android 项目:OpenGLESTutorial, 在项目在添加两个类TutorialPartI.java 和OpenGLRenderer.java.
具体代码如下:
TutorialPartI.java
OpenGLRenderer.java
编译后运行,屏幕显示一个黑色的全屏。这两个类定义了Android OpenGL ES应用的最基本的类和方法,可以看作是OpenGL ES的”Hello ,world”应用,后面将逐渐丰富这个例子来画出3D图型。
- GLSurfaceView画图的架构
- 第一个用GLSurfaceView画图形
- linux 的文件系统架构--手画图
- Android 的 GLSurfaceView
- 炫酷的glsurfaceview
- GLSurfaceView
- GLSurfaceView
- GLSurfaceView
- GLSurfaceView
- GLSurfaceView
- GLSurfaceView
- GLSurfaceView
- GLSurfaceView
- GLSurfaceView
- Android的GLSurfaceView测试源码
- View、SurfaceView、GLSurfaceView的关系
- Android-代替GLSurfaceView的GLTextureView
- GLSurfaceView 的onDrawFrame()频繁调用
- Struts2中action获取request、response、session的方式
- C/C++调用Lu的入门程序
- 在MyEclipse中引入JDK源码
- 《java与模式》学习系列——调停者模式
- ABAP:Read_Text(SAVE_TEXT)函数的使用方法
- GLSurfaceView画图的架构
- Javascript中valueOf()和toString()的区别
- Shell 做的 HTTP 服务器
- 3D绘图基本概念
- adjacent_find
- nyoj 301 递推求值(矩阵计算)
- 4种调用https服务的方式
- android学习——SeekBar和RatingBar
- 什么是AppID