实现三角体,正方体的3d效果及自动旋转思路如下:
其实要实现三角体,正方体自动旋转效果,只需绘出立方体的三角形与四边形。在加上gl.glRotatef(angle,x , y, z);就行了。
具体实现如下:
Renderer类代码
package sim.feel;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.IntBuffer;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import android.opengl.GLSurfaceView.Renderer;
public class MyRender implements Renderer {
//google画图单位
private int one = 0x10000;
//三角体旋转角度
private float triangleAngle = 0.5f;
//正方体旋转角度
private float quaterAngle = 0.5f;
//三角体、正方体及其颜色缓冲
private IntBuffer triangleBuffer;
private IntBuffer quaterBuffer;
private IntBuffer triangleColorBuffer;
private IntBuffer quaterColorBuffer;
// 三角体四个面的顶点
private int[] triangle = {
0, one, 0,
-one, -one, one,
one, -one, one,
0, one, 0,
one, -one, one,
one, -one, -one,
0, one, 0,
one, -one,-one,
-one, -one, one,
0, one, 0,
-one, -one, -one,
-one, -one, one
};
// 正方体8个面得顶点
private int[] quater = new int[] {