这是代码,可以进入,但是只有背景色。
package com.bbk;import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.nio.ShortBuffer;import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;import android.content.Context;
import android.opengl.GLSurfaceView;public class Triangle extends GLSurfaceView { private FloatBuffer verticesBuff;
private ShortBuffer indicesBuff;

//顶点数组
float verArray[] = new float[]{
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f,
-0.5f, 0.5f, 0.0f,
0.5f, 0.5f, 0.0f};

short indicesArray[] = new short[] {0, 1, 2};

public Triangle(Context context) 
{
super(context);
setRenderer(new TriRenderer());
}

//数组转换为FloatBuffer
public FloatBuffer arrToBuff(float[] arr)
{
ByteBuffer bb = ByteBuffer.allocateDirect(arr.length * 4);
bb.order(ByteOrder.nativeOrder());
FloatBuffer fb = bb.asFloatBuffer();
fb.put(arr);
fb.position(0);
return fb;
}

//数组转换为ShortBuffer
public ShortBuffer arrToBuff(short[] arr)
{
ByteBuffer bb = ByteBuffer.allocateDirect(arr.length * 2);
bb.order(ByteOrder.nativeOrder());
ShortBuffer sb = bb.asShortBuffer();
sb.put(arr);
sb.position(0);
return sb;
}

class TriRenderer implements GLSurfaceView.Renderer
{ @Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) 
{
verticesBuff = arrToBuff(verArray);
indicesBuff = arrToBuff(indicesArray);

//背景色
gl.glClearColor(0.5f, 0.5f, 0.5f, 1.0f);

//启用顶点数组
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);

}

@Override
public void onDrawFrame(GL10 gl) 
{

//清除颜色缓存
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

gl.glColor4f(0.0f, 0.0f, 1.0f, 0.5f);

gl.glVertexPointer(3, GL10.GL_FLOAT, 0, verticesBuff);

gl.glDrawElements(GL10.GL_TRIANGLES, 3, GL10.GL_UNSIGNED_SHORT, indicesBuff);
//gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);
} @Override
public void onSurfaceChanged(GL10 gl, int width, int height) 
{

} }
}