首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

OpenGL学习一

2012-09-24 
OpenGL学习11.创建一个Activityimport android.app.Activityimport android.opengl.GLSurfaceViewimport

OpenGL学习1

1.创建一个Activity

import android.app.Activity;import android.opengl.GLSurfaceView;import android.os.Bundle;public class OpenGLActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);                GLSurfaceView glView = new GLSurfaceView(this);        glView.setRenderer(new OpenGLRender());        setContentView(glView);    }}

?

2.实现Renderer接口

import javax.microedition.khronos.egl.EGLConfig;import javax.microedition.khronos.opengles.GL10;import android.opengl.GLSurfaceView.Rendererpublic class OpenGLRender implements Renderer{    /**     * 调用此方法绘制当前窗口     */    @Override    public void onDrawFrame(GL10 gl) {        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);  //清楚屏幕和深度缓存    }    /**     * 窗口被创建或者窗口大小改变时被调用     */    @Override    public void onSurfaceChanged(GL10 gl, int width, int height) {        gl.glViewport(0, 0, width, height);                float ratio = (float) width / height;        gl.glMatrixMode(GL10.GL_PROJECTION);        //设置投影矩阵        gl.glLoadIdentity();      //重置投影矩阵        gl.glFrustumf(-ratio, ratio, -1, 1, 1, 10);    //设置视口大小    }    /**     * 窗口被创建或者被重新创建时调用,做初始化工作     */    @Override    public void onSurfaceCreated(GL10 gl, EGLConfig config) {        gl.glClearColor(0, 0, 1.0f, 0.5f);    //设置背景色,蓝色    }}

?3.效果如下所示


OpenGL学习一
?

热点排行