读书人

OpenGL学习一

发布时间: 2012-09-24 13:49:42 作者: rapoo

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学习一
?

读书人网 >移动开发

热点推荐