OpenGL ES之GLSurfaceView学习二:非交互式的实例
来源:互联网 发布:手机扫描端口 编辑:程序博客网 时间:2024/05/16 01:57
自:http://blog.csdn.net/chenjie19891104/article/details/6311215
使用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{
- @Override
- public void onDrawFrame(GL10 gl) {
- //每帧都需要调用该方法进行绘制。绘制时通常先调用glClear来清空framebuffer。
- //然后调用OpenGL ES其他接口进行绘制
- gl.glClear(GL10.GL_COLOR_BUFFER_BIT|GL10.GL_DEPTH_BUFFER_BIT);
- }
- @Override
- public void onSurfaceChanged(GL10 gl, int w, int h) {
- //当surface的尺寸发生改变时,该方法被调用,。往往在这里设置ViewPort。或者Camara等。
- gl.glViewport(0, 0, w, h);
- }
- @Override
- public 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学习一:介绍
- OpenCV(二):概述、结构和内容
- C++ STL博客
- AVD存放路径更改
- C++内存管理详解
- Suse下amarok不能播放mp3解决
- OpenGL ES之GLSurfaceView学习二:非交互式的实例
- J2EE规范
- 线段树(5)成断更新 poj3468
- 关键帧动画CAKeyframeAnimation
- I NEED A OFFER!
- android 开发布局之TableLayout
- linux启动顺序
- java视频上传截图
- OpenGL ES之GLSurfaceView学习三:交互式的实例