1, 初步接触Open GL:
http://www.cnblogs.com/TerryBlog/archive/2010/07/09/1774475.html
使用GLSurfaceView和Render实现一个简单的三角形和正方形.其中,GLSurfaceView用于显示视图,Render用于3D渲染。这个博客的代码,运行时会报:
java.lang.IllegalArgumentException: Must use a native order direct Buffer
是因为顶点Buffer需要使用以下的方式初始化:
private static final int FLOAT_SIZE_BYTES = 4;privateFloatBuffer mTriangleVertices;private final float[] mTriangleVerticesData ={//X, Y, Z, U, V
-1.0f, -1.0f, 0, 0.f, 0.f,1.0f, -1.0f, 0, 1.f, 0.f,-1.0f, 1.0f, 0, 0.f, 1.f,1.0f, 1.0f, 0, 1.f, 1.f,
};public voidinit() {
mTriangleVertices=ByteBuffer.allocateDirect(
mTriangleVerticesData.length*FLOAT_SIZE_BYTES)
.order(ByteOrder.nativeOrder()).asFloatBuffer();
mTriangleVertices.put(mTriangleVerticesData).position(0);
}
-- 一个外国友人的Android OpenGL ES教程.
3, Android关于SurfaceView, GLSurfaceView, SurfaceTexture, Texture几个View的使用和区别(显示视频的界面)。
http://www.wfuyu.com/technology/22762.html
原文:http://www.cnblogs.com/xiaoyang2009/p/5264335.html