Android高级进阶三 Android OpenGL | ES开发框架
来源:互联网 发布:巨人网络 征途 编辑:程序博客网 时间:2024/04/29 19:33
最新版本: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高级进阶三 Android OpenGL | ES开发框架
- Android高级进阶二 Android OpenGL | ES介绍
- Android OpenGL ES(三)----编程框架
- Android OpenGL ES 开发教程(三)
- Android高级进阶四 Android OpenGL开发多边形
- Android 3D OpenGL ES 进阶(1)
- Android 3D OpenGL ES 进阶(2)
- Android的OpenGL Es开发
- android游戏开发-OPENGL ES
- Android OpenGL ES 开发入门
- Android开发高级进阶
- Android OpenGL ES(三):OpenGL ES API 命名习惯
- Android OpenGL ES 开发教程(2):关于OpenGL ES
- Android OpenGL ES 开发教程(3):OpenGL ES管道(Pipeline)
- Android OpenGL ES 开发教程(2):关于OpenGL ES
- Android OpenGL ES 开发教程(3):OpenGL ES管道(Pipeline)
- Android OpenGL ES 开发教程(2):关于OpenGL ES
- Android OpenGL ES 开发教程(3):OpenGL ES管道(Pipeline)
- Android高级进阶一 OpenGL介绍
- Android高级进阶二 Android OpenGL | ES介绍
- VBA中Format 集合 使用方法。
- 9个重要习惯 极大提升工作和时间效率
- 议rman的crosscheck和obsolete
- Android高级进阶三 Android OpenGL | ES开发框架
- 用VBA为选定的单元格加上边框
- jQuery延时绑定事件(lazy-bind)
- WPF新手上路
- Android高级进阶四 Android OpenGL开发多边形
- eclipse打开出错failed to create the java virtual machine解决方案
- 代理工具及设置
- 每天一道面试题,为今年找工作早做准备!笨鸟先飞,哈哈(2012年1月篇) .
- Android高级进阶五 Android OpenGL给多边形着色