zjk
OpenGL ES 绘制3D步骤其实挺简单,看一下代码整理一下就很明了的,但是书上讲的都很乱,特整理一下
1.创建GLSurfaceView组件(与activity相关的类),用于显示OpenGL绘制的图形
2.为GLSurfaceView组件创建GLSurfaceView.renderer实例
3.调用glsurfaceview组件的setRenderer()方法指定Renderer对象,该renderer对象将完成glsurfaceview的3D绘制
大步骤就分为以上三步,下面介绍介绍第二部
2.1创建各种数组,顶点,颜色,三角形或者直线顶点,还要转换成OpenGL的数组形式
2.2构造函数中将数组转换一下
2.3实现接口的三个函数
2.3.1void onSurfaceCreated(GL10 gl, EGLConfig config) 当执行第一步时调用次函数
2.3.2void onSurfaceChanged(GL10 gl, int width, int height) 当glsurfaceview大小改变时回调
2.3.3void onDrawFrame(GL10 gl) 次函数是关键,render对象会调用次方法绘制 一直在此函数循环,下面几种讲解
2.3.3.1gl.glEnableClientState(GL10.GL_VERTEX_ARRAY); 启用顶点坐标数据
2.3.3.2//gl.glEnableClientState(GL10.GL_COLOR_ARRAY) 启用顶点颜色数据
2.3.3.3gl.glVertexPointer(3, GL10.GL_FLOAT, 0, lineVerticesBuffer); 设置顶点位置数据
2.3.3.4gl.glColor4f(1.0f, 0.0f, 0.0f, 1.0f); 设置顶点颜色数据
2.3.3.5gl.glDrawElements(GL10.GL_LINES, lineFacetsBuffer.remaining(), 绘制三维平面
2.3.3.6gl.glFinish(); 结束绘制
以上是基本的步骤,对应到项目中请参考:Android OpenGL ES (二) 绘制三维/空间坐标系http://blog.csdn.net/zhangjikuan/article/details/20481255