OpenGL ES之GLSurfaceView学习二:非交互式的实例
来源:互联网 发布:淘宝开店拍照认证示范 编辑:程序博客网 时间:2024/05/19 00:36
分类:Android 学习笔记2011-04-09 09:14402人阅读 评论(1)收藏 举报
使用GLSurfaceView开发3D应用时,如果是非交互式的应用,可以直接使用GLSurfaceView。如果需要交互式的行为,则需要继承
GLSurfaceView并重写一些方法。交互式应用示例见下篇。
import javax.microedition.khronos.egl.EGLConfig;import javax.microedition.khronos.opengles.GL10;import android.app.Activity;import android.opengl.GLSurfaceView;import android.opengl.GLSurfaceView.Renderer;import android.os.Bundle;import android.provider.OpenableColumns;/** * 本示例演示OpenGL ES开发3D应用 * 该Activity直接使用了GLSurfaceView * 这是因为GLSurfaceView可以直接使用,除非需要接受用户输入,和用户交互,才需要重写一些GLSurfaceView的方法 * 如果开发一个非交互式的OpenGL应用,可以直接使用GLSurfaceView。参照本示例 * @author Administrator * */public class NonInteractiveDemo extends Activity { private GLSurfaceView mGLView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mGLView = new GLSurfaceView(this); //这里需要指定一个自定义的渲染器 mGLView.setRenderer(new DemoRenderer()); setContentView(mGLView); } public void onPause(){ super.onPause(); mGLView.onPause(); //当Activity暂停时,告诉GLSurfaceView也停止渲染,并释放资源。 } public void onResume(){ super.onResume(); mGLView.onResume(); //当Activity恢复时,告诉GLSurfaceView加载资源,继续渲染。 } }class DemoRenderer implements Renderer{@Overridepublic void onDrawFrame(GL10 gl) {//每帧都需要调用该方法进行绘制。绘制时通常先调用glClear来清空framebuffer。//然后调用OpenGL ES其他接口进行绘制gl.glClear(GL10.GL_COLOR_BUFFER_BIT|GL10.GL_DEPTH_BUFFER_BIT);}@Overridepublic void onSurfaceChanged(GL10 gl, int w, int h) {//当surface的尺寸发生改变时,该方法被调用,。往往在这里设置ViewPort。或者Camara等。 gl.glViewport(0, 0, w, h);}@Overridepublic void onSurfaceCreated(GL10 gl, EGLConfig config) {// 该方法在渲染开始前调用,OpenGL ES的绘制上下文被重建时也会调用。//当Activity暂停时,绘制上下文会丢失,当Activity恢复时,绘制上下文会重建。//do nothing special}}
- OpenGL ES之GLSurfaceView学习二:非交互式的实例
- OpenGL ES之GLSurfaceView学习二:非交互式的实例
- OpenGL ES之GLSurfaceView学习二:非交互式的实例
- OpenGL ES之GLSurfaceView学习二:非交互式的实例
- OpenGL ES之GLSurfaceView学习三:交互式的实例
- OpenGL ES之GLSurfaceView学习三:交互式的实例
- OpenGL ES之GLSurfaceView学习三:交互式的实例
- OpenGL ES之GLSurfaceView学习三:交互式的实例
- OpenGL ES之GLSurfaceView学习
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习一:介绍
- Linux 内存检测工具valgrind使用手册(转)
- yaml-cpp —— C++ 项目配置工具入门
- ISTQB FL初级认证系列02:ISTQB FL初级认证考试攻略
- http://www.docin.com/p-1741467.html类-单继承和多重继承
- OpenGL ES之GLSurfaceView学习一:介绍
- OpenGL ES之GLSurfaceView学习二:非交互式的实例
- CountDownLatch用法
- 交互式实例
- Oracle Statistic 统计信息 小结
- OpenGL ES之GLSurfaceView学习四:Android Demo里的Cube分析
- ubuntu 的管理员切换
- linux 显示当前路径
- jQuery中this与$(this)的区别
- 苦逼的吸引力法则