Android高级进阶三 Android OpenGL | ES开发框架
2012-01-04 22:12
495 查看
最新版本:Android高级进阶三
Android OpenGL | ES开发框架
在Android3d开发中,纵然Android给我们提供了一个GL10的类来实现3D开发实例,但是开发人员一般会使用更好的GLSurfaceView来更好的显示OpenGL视图,所以我们鉴于此,我们也使用GLSurfaceView来开发OpenGL,而在GLSurfaceView中则包含了一个专门用于3D的接口Render,所以在使用GLSurfaceView之前,我们必须构建一个自己的Render。
在上面Render对象中,我们需要实现下述方法:
public class GLRender implements Renderer{
所有的绘图工作就在此完成
@Override
public void onDrawFrame(GL10 gl) {
// TODO Auto-generated method stub
}
当窗口发生改变时,调用下述方法,但无论窗口是否发生变化,这个应该在程序开始时运行一次
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
// TODO Auto-generated method stub
}
当窗口创建的时候,我们可以在onSurfaceCreated中对OpenGL做一些初始化工作
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
// TODO Auto-generated method stub
}
}
所以一个完整的Android OpenGL开发框架就应该如下:
org.ourunix.android.opengltest;
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;
public class OpenGLTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GLSurfaceView glView = new GLSurfaceView(this);
Renderer render = new GLRender();
glView.setRenderer(render);
setContentView(glView);
}
public class GLRender implements Renderer{
@Override
public void onDrawFrame(GL10 gl) {
// TODO Auto-generated method stub
}
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
// TODO Auto-generated method stub
}
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
// TODO Auto-generated method stub
}
}
}
Android OpenGL | ES开发框架
在Android3d开发中,纵然Android给我们提供了一个GL10的类来实现3D开发实例,但是开发人员一般会使用更好的GLSurfaceView来更好的显示OpenGL视图,所以我们鉴于此,我们也使用GLSurfaceView来开发OpenGL,而在GLSurfaceView中则包含了一个专门用于3D的接口Render,所以在使用GLSurfaceView之前,我们必须构建一个自己的Render。
在上面Render对象中,我们需要实现下述方法:
public class GLRender implements Renderer{
所有的绘图工作就在此完成
@Override
public void onDrawFrame(GL10 gl) {
// TODO Auto-generated method stub
}
当窗口发生改变时,调用下述方法,但无论窗口是否发生变化,这个应该在程序开始时运行一次
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
// TODO Auto-generated method stub
}
当窗口创建的时候,我们可以在onSurfaceCreated中对OpenGL做一些初始化工作
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
// TODO Auto-generated method stub
}
}
所以一个完整的Android OpenGL开发框架就应该如下:
org.ourunix.android.opengltest;
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;
public class OpenGLTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GLSurfaceView glView = new GLSurfaceView(this);
Renderer render = new GLRender();
glView.setRenderer(render);
setContentView(glView);
}
public class GLRender implements Renderer{
@Override
public void onDrawFrame(GL10 gl) {
// TODO Auto-generated method stub
}
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
// TODO Auto-generated method stub
}
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
// TODO Auto-generated method stub
}
}
}
相关文章推荐
- Android高级进阶二 Android OpenGL | ES介绍
- Android高级进阶四 Android OpenGL开发多边形
- Android高级进阶七 Android OpenGL开发四棱锥和立方体
- Android开发高级进阶04(段子手爆发)
- Android OpenGL实战一——开发框架搭建、三角形和四边形的绘制
- Android高级进阶一 OpenGL介绍
- Android开发高级进阶——传感器
- Android高级进阶九 Android OpenGL对立方体进行光照处理
- Android开发高级进阶——多进程间通信
- Android OpenGL ES 开发教程(7):创建实例应用OpenGLDemos程序框架
- Android高级进阶十一 Android OpenGL建立3D空间
- Android高级进阶五 Android OpenGL给多边形着色
- Android OpenGL ES 开发教程(2):关于OpenGL ES
- Android OpenGL ES 开发教程(7):创建实例应用OpenGLDemos程序框架
- Android高级进阶六 Android OpenGL旋转多边形
- 《Android 高级进阶》 --> APP 整体框架
- 高级Android开发工程师进阶路线
- Android探索之旅(第二十四篇)进阶安卓高级开发工程师需要掌握的知识体系
- Android开发之OpenGL+ES教程
- Android高级进阶八 Android OpenGL给立方体进行纹理映射