Android OpenGL 教程
第二课 你的第一个多边形:
在第一个教程的基础上,我们添加了一个三角形和一个四边形。也许你认为这很简单,但你已经迈出了一大步,要知道任何在OpenGL中绘制的模型都会被分解为这两种简单的图形。
读完了这一课,你会学到如何在空间放置模型,并且会知道深度缓存的概念。
其他类不变,只更改OpenGLRenderer类。
首先,我们画一个三角形
主要是在OnDrawFrame里面画,使用的函数是
gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);
或者
gl.glDrawElements(GL10.GL_TRIANGLES,3,GL10.GL_FLOAT, mIndexBuffer);
我们先使用drawArray,drawElement里面要多用一个indexBuffer。
第一步,定义个array
这里实际上是定义了三角形的三个顶点,三个数分别是x,y,z的坐标,和数学里直角坐标系相同
0f,1f,0f 是上顶点
-1f,-1f,0f 是左下顶点
1f,-1f,0f 是右下顶点
定义个FloatBuffer,这是android画三角形必须的结构
private FloatBuffer mTriangleBuffer;
来一个函数转换array到Buffer
我们直接上一个工具类