WEB开发网
开发学院手机开发Android 开发 Android OpenGL实战 颜色和旋转 阅读

Android OpenGL实战 颜色和旋转

 2010-05-14 16:53:00 来源:WEB开发网   
核心提示:package com.zjc.test;import java.nio.IntBuffer;import javax.microedition.khronos.egl.EGLConfig;import javax.microedition.khronos.opengles.GL10;import android.op

package com.zjc.test;

import java.nio.IntBuffer;

import javax.microedition.khronos.egl.EGLConfig;

import javax.microedition.khronos.opengles.GL10;

import android.opengl.GLSurfaceView.Renderer;

public class GLReader implements Renderer{

private int one = 0x10000;

//三角形的三个顶点

private IntBuffer triggerBuffer=IntBuffer.wrap(new int[]{

0,one,0, //上顶点

-one,-one,0, //做顶点

one,-one,0 //右顶点

});

//定义三角形和四边形的旋转变量

private float rotateTri,rotateQuad;

/**

* 三角形的顶点颜色值

* 参数:

* 1、红色分量

* 2、绿色分量

* 3、蓝色分量

* 4、alpha值

*/

private IntBuffer colorBuffer=IntBuffer.wrap(new int[]{

one,0,0,one,

0,one,0,one,

0,0,one,one,

});

//四边形的四个顶点

private IntBuffer quaterBuffer = IntBuffer.wrap(new int[]{

one,one,0,

-one,one,0,

one,-one,0,

-one,-one,0});

/**

* 所有绘图的工作放到此方法里

*/

@Override

public void onDrawFrame(GL10 gl) {

//清除屏幕和深度缓存

gl.glClear(GL10.GL_COLOR_BUFFER_BIT|GL10.GL_DEPTH_BUFFER_BIT );

//重置当前的模型观察矩阵

gl.glLoadIdentity();

// 左移 1.5 单位,并移入屏幕 6.0

gl.glTranslatef(-1.5f, 0.0f, -6.0f);

//开启顶点设置功能

gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);

/**

* 旋转三角形

* 参数:

* 1、旋转角度

* 234是x、y、z共同决定旋转轴方向的参数

* 例如:1,0,0 表示经过x坐标的一个单位向右旋转

* -1,0,0 表示.................向左旋转

*/

gl.glRotatef(rotateTri, 0.0f, 1.0f, 0.0f);

上一页  1 2 3 4 5  下一页

Tags:Android OpenGL 实战

编辑录入:coldstar [复制链接] [打 印]
赞助商链接