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.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);
更多精彩
赞助商链接